<!-- HTML header for doxygen 1.8.18-->
<!DOCTYPE html
    PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "https://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
    <meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8" />
    <meta http-equiv="X-UA-Compatible" content="IE=9" />
    <meta name="generator" content="Doxygen 1.8.16" />
    <meta name="viewport" content="width=device-width, initial-scale=1" />
    <title>LEAF: LEAF/Inc/leaf-envelopes.h Source File</title>
    <link href="tabs.css" rel="stylesheet" type="text/css" />
    <script type="text/javascript" src="jquery.js"></script>
    <script type="text/javascript" src="dynsections.js"></script>
    <script type="text/javascript" src="../js/iframeResizer.contentWindow.min.js"></script>
    <!-- <script src="/js/template.js"></script> -->
     <link href="search/search.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="search/searchdata.js"></script>
<script type="text/javascript" src="search/search.js"></script>
<script type="text/javascript">
/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
  $(document).ready(function() { init_search(); });
/* @license-end */
</script> 
    <link href="doxygen.css" rel="stylesheet" type="text/css" />
    <link href="customdoxygen.css" rel="stylesheet" type="text/css"/>
    <!-- <link rel="stylesheet" href="/css/tachyons.css" type="text/css" /> -->
</head>
<body class="bg-washed-green black-70 ph0 sans-serif" onload="iframeResizePipe()">
    <div>
        <!-- do not remove this div, it is closed by doxygen! -->
        <div id="titlearea">
            <table cellspacing="0" cellpadding="0">
                <tbody>
                    <tr>
                    </tr>
                </tbody>
            </table>
        </div>
        <!-- end header part -->
    </div>
</body>
</html><!-- Generated by Doxygen 1.8.16 -->
<script type="text/javascript">
/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
var searchBox = new SearchBox("searchBox", "search",false,'Search');
/* @license-end */
</script>
  <div id="navrow1" class="tabs">
    <ul class="tablist">
      <li><a href="index.html"><span>Main&#160;Page</span></a></li>
      <li><a href="modules.html"><span>Modules</span></a></li>
      <li><a href="annotated.html"><span>Data&#160;Structures</span></a></li>
      <li class="current"><a href="files.html"><span>Files</span></a></li>
      <li><a href="examples.html"><span>Examples</span></a></li>
      <li>
        <div id="MSearchBox" class="MSearchBoxInactive">
        <span class="left">
          <img id="MSearchSelect" src="search/mag_sel.png"
               onmouseover="return searchBox.OnSearchSelectShow()"
               onmouseout="return searchBox.OnSearchSelectHide()"
               alt=""/>
          <input type="text" id="MSearchField" value="Search" accesskey="S"
               onfocus="searchBox.OnSearchFieldFocus(true)" 
               onblur="searchBox.OnSearchFieldFocus(false)" 
               onkeyup="searchBox.OnSearchFieldChange(event)"/>
          </span><span class="right">
            <a id="MSearchClose" href="javascript:searchBox.CloseResultsWindow()"><img id="MSearchCloseImg" border="0" src="search/close.png" alt=""/></a>
          </span>
        </div>
      </li>
    </ul>
  </div>
  <div id="navrow2" class="tabs2">
    <ul class="tablist">
      <li><a href="files.html"><span>File&#160;List</span></a></li>
      <li><a href="globals.html"><span>Globals</span></a></li>
    </ul>
  </div>
<!-- window showing the filter options -->
<div id="MSearchSelectWindow"
     onmouseover="return searchBox.OnSearchSelectShow()"
     onmouseout="return searchBox.OnSearchSelectHide()"
     onkeydown="return searchBox.OnSearchSelectKey(event)">
</div>

<!-- iframe showing the search results (closed by default) -->
<div id="MSearchResultsWindow">
<iframe src="javascript:void(0)" frameborder="0" 
        name="MSearchResults" id="MSearchResults">
</iframe>
</div>

<div id="nav-path" class="navpath">
  <ul>
<li class="navelem"><a class="el" href="dir_127e6aa213d41105176fe0c3bbb2560c.html">LEAF</a></li><li class="navelem"><a class="el" href="dir_2638202b9749e6ce2c919e410b7e2f43.html">Inc</a></li>  </ul>
</div>
</div><!-- top -->
<div class="header">
  <div class="headertitle">
<div class="title">leaf-envelopes.h</div>  </div>
</div><!--header-->
<div class="contents">
<div class="fragment"><div class="line"><a name="l00001"></a><span class="lineno">    1</span>&#160;<span class="comment">/*</span></div>
<div class="line"><a name="l00002"></a><span class="lineno">    2</span>&#160;<span class="comment"> ==============================================================================</span></div>
<div class="line"><a name="l00003"></a><span class="lineno">    3</span>&#160;<span class="comment"> </span></div>
<div class="line"><a name="l00004"></a><span class="lineno">    4</span>&#160;<span class="comment"> leaf-envelopes.h</span></div>
<div class="line"><a name="l00005"></a><span class="lineno">    5</span>&#160;<span class="comment"> Created: 20 Jan 2017 12:02:17pm</span></div>
<div class="line"><a name="l00006"></a><span class="lineno">    6</span>&#160;<span class="comment"> Author:  Michael R Mulshine</span></div>
<div class="line"><a name="l00007"></a><span class="lineno">    7</span>&#160;<span class="comment"> </span></div>
<div class="line"><a name="l00008"></a><span class="lineno">    8</span>&#160;<span class="comment"> ==============================================================================</span></div>
<div class="line"><a name="l00009"></a><span class="lineno">    9</span>&#160;<span class="comment"> */</span></div>
<div class="line"><a name="l00010"></a><span class="lineno">   10</span>&#160; </div>
<div class="line"><a name="l00011"></a><span class="lineno">   11</span>&#160;<span class="preprocessor">#ifndef LEAF_ENVELOPES_H_INCLUDED</span></div>
<div class="line"><a name="l00012"></a><span class="lineno">   12</span>&#160;<span class="preprocessor">#define LEAF_ENVELOPES_H_INCLUDED</span></div>
<div class="line"><a name="l00013"></a><span class="lineno">   13</span>&#160; </div>
<div class="line"><a name="l00014"></a><span class="lineno">   14</span>&#160;<span class="preprocessor">#ifdef __cplusplus</span></div>
<div class="line"><a name="l00015"></a><span class="lineno">   15</span>&#160;<span class="keyword">extern</span> <span class="stringliteral">&quot;C&quot;</span> {</div>
<div class="line"><a name="l00016"></a><span class="lineno">   16</span>&#160;<span class="preprocessor">#endif</span></div>
<div class="line"><a name="l00017"></a><span class="lineno">   17</span>&#160;    </div>
<div class="line"><a name="l00018"></a><span class="lineno">   18</span>&#160;    <span class="comment">// ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~</span></div>
<div class="line"><a name="l00019"></a><span class="lineno">   19</span>&#160;    </div>
<div class="line"><a name="l00020"></a><span class="lineno">   20</span>&#160;<span class="preprocessor">#include &quot;leaf-math.h&quot;</span></div>
<div class="line"><a name="l00021"></a><span class="lineno">   21</span>&#160;<span class="preprocessor">#include &quot;leaf-mempool.h&quot;</span></div>
<div class="line"><a name="l00022"></a><span class="lineno">   22</span>&#160;<span class="preprocessor">#include &quot;leaf-filters.h&quot;</span></div>
<div class="line"><a name="l00023"></a><span class="lineno">   23</span>&#160;<span class="preprocessor">#include &quot;leaf-delay.h&quot;</span></div>
<div class="line"><a name="l00024"></a><span class="lineno">   24</span>&#160;<span class="preprocessor">#include &quot;leaf-analysis.h&quot;</span></div>
<div class="line"><a name="l00025"></a><span class="lineno">   25</span>&#160;<span class="preprocessor">#include &quot;leaf-envelopes.h&quot;</span></div>
<div class="line"><a name="l00026"></a><span class="lineno">   26</span>&#160;    </div>
<div class="line"><a name="l00035"></a><span class="lineno">   35</span>&#160;    <span class="comment">// ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~</span></div>
<div class="line"><a name="l00036"></a><span class="lineno">   36</span>&#160;    </div>
<div class="line"><a name="l00079"></a><span class="lineno">   79</span>&#160;    <span class="keyword">typedef</span> <span class="keyword">struct </span>_tEnvelope</div>
<div class="line"><a name="l00080"></a><span class="lineno">   80</span>&#160;    {</div>
<div class="line"><a name="l00081"></a><span class="lineno">   81</span>&#160;        </div>
<div class="line"><a name="l00082"></a><span class="lineno">   82</span>&#160;        tMempool mempool;</div>
<div class="line"><a name="l00083"></a><span class="lineno">   83</span>&#160;        </div>
<div class="line"><a name="l00084"></a><span class="lineno">   84</span>&#160;        <span class="keyword">const</span> <span class="keywordtype">float</span> *exp_buff;</div>
<div class="line"><a name="l00085"></a><span class="lineno">   85</span>&#160;        <span class="keyword">const</span> <span class="keywordtype">float</span> *inc_buff;</div>
<div class="line"><a name="l00086"></a><span class="lineno">   86</span>&#160;        uint32_t buff_size;</div>
<div class="line"><a name="l00087"></a><span class="lineno">   87</span>&#160;        </div>
<div class="line"><a name="l00088"></a><span class="lineno">   88</span>&#160;        <span class="keywordtype">float</span> next;</div>
<div class="line"><a name="l00089"></a><span class="lineno">   89</span>&#160;        </div>
<div class="line"><a name="l00090"></a><span class="lineno">   90</span>&#160;        <span class="keywordtype">float</span> attackInc, decayInc, rampInc;</div>
<div class="line"><a name="l00091"></a><span class="lineno">   91</span>&#160;        </div>
<div class="line"><a name="l00092"></a><span class="lineno">   92</span>&#160;        <span class="keywordtype">int</span> inAttack, inDecay, inRamp;</div>
<div class="line"><a name="l00093"></a><span class="lineno">   93</span>&#160;        </div>
<div class="line"><a name="l00094"></a><span class="lineno">   94</span>&#160;        <span class="keywordtype">int</span> loop;</div>
<div class="line"><a name="l00095"></a><span class="lineno">   95</span>&#160;        </div>
<div class="line"><a name="l00096"></a><span class="lineno">   96</span>&#160;        <span class="keywordtype">float</span> gain, rampPeak;</div>
<div class="line"><a name="l00097"></a><span class="lineno">   97</span>&#160;        </div>
<div class="line"><a name="l00098"></a><span class="lineno">   98</span>&#160;        <span class="keywordtype">float</span> attackPhase, decayPhase, rampPhase;</div>
<div class="line"><a name="l00099"></a><span class="lineno">   99</span>&#160;        </div>
<div class="line"><a name="l00100"></a><span class="lineno">  100</span>&#160;    } _tEnvelope;</div>
<div class="line"><a name="l00101"></a><span class="lineno">  101</span>&#160;    </div>
<div class="line"><a name="l00102"></a><span class="lineno">  102</span>&#160;    <span class="keyword">typedef</span> _tEnvelope* tEnvelope;</div>
<div class="line"><a name="l00103"></a><span class="lineno">  103</span>&#160;    </div>
<div class="line"><a name="l00104"></a><span class="lineno">  104</span>&#160;    <span class="keywordtype">void</span>    <a class="code" href="group__tenvelope.html#ga750a7c8d37cbe768f2392e93f71f926a">tEnvelope_init</a>          (tEnvelope* <span class="keyword">const</span>, <span class="keywordtype">float</span> attack, <span class="keywordtype">float</span> decay, <span class="keywordtype">int</span> loop, <a class="code" href="struct_l_e_a_f.html">LEAF</a>* <span class="keyword">const</span> leaf);</div>
<div class="line"><a name="l00105"></a><span class="lineno">  105</span>&#160;    <span class="keywordtype">void</span>    <a class="code" href="group__tenvelope.html#gafb5292f686b84efd0d445a353bf4a37a">tEnvelope_initToPool</a>    (tEnvelope* <span class="keyword">const</span>, <span class="keywordtype">float</span> attack, <span class="keywordtype">float</span> decay, <span class="keywordtype">int</span> loop, tMempool* <span class="keyword">const</span>);</div>
<div class="line"><a name="l00106"></a><span class="lineno">  106</span>&#160;    <span class="keywordtype">void</span>    <a class="code" href="group__tenvelope.html#gac9babd2be1211097f9beee044ec4cdd9">tEnvelope_free</a>          (tEnvelope* <span class="keyword">const</span>);</div>
<div class="line"><a name="l00107"></a><span class="lineno">  107</span>&#160;    </div>
<div class="line"><a name="l00108"></a><span class="lineno">  108</span>&#160;    <span class="keywordtype">float</span>   <a class="code" href="group__tenvelope.html#ga40beb9faaf417398361fe2c4699318f5">tEnvelope_tick</a>          (tEnvelope* <span class="keyword">const</span>);</div>
<div class="line"><a name="l00109"></a><span class="lineno">  109</span>&#160;    <span class="keywordtype">void</span>    <a class="code" href="group__tenvelope.html#gad7cb0c772ac308884c50ce88eac76350">tEnvelope_setAttack</a>     (tEnvelope* <span class="keyword">const</span>, <span class="keywordtype">float</span> attack);</div>
<div class="line"><a name="l00110"></a><span class="lineno">  110</span>&#160;    <span class="keywordtype">void</span>    <a class="code" href="group__tenvelope.html#gadadffd39e47ede9b25e1a9faad8c0bbc">tEnvelope_setDecay</a>      (tEnvelope* <span class="keyword">const</span>, <span class="keywordtype">float</span> decay);</div>
<div class="line"><a name="l00111"></a><span class="lineno">  111</span>&#160;    <span class="keywordtype">void</span>    <a class="code" href="group__tenvelope.html#gafd5088139edc7b5630a7738efa7bac38">tEnvelope_loop</a>          (tEnvelope* <span class="keyword">const</span>, <span class="keywordtype">int</span> loop);</div>
<div class="line"><a name="l00112"></a><span class="lineno">  112</span>&#160;    <span class="keywordtype">void</span>    <a class="code" href="group__tenvelope.html#ga27ea23e65d88dee4361325bcb8cd7e23">tEnvelope_on</a>            (tEnvelope* <span class="keyword">const</span>, <span class="keywordtype">float</span> velocity);</div>
<div class="line"><a name="l00113"></a><span class="lineno">  113</span>&#160;    </div>
<div class="line"><a name="l00114"></a><span class="lineno">  114</span>&#160;    <span class="comment">// ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~</span></div>
<div class="line"><a name="l00115"></a><span class="lineno">  115</span>&#160;    </div>
<div class="line"><a name="l00116"></a><span class="lineno">  116</span>&#160;    </div>
<div class="line"><a name="l00163"></a><span class="lineno">  163</span>&#160;    <span class="keyword">typedef</span> <span class="keyword">struct </span>_tExpSmooth</div>
<div class="line"><a name="l00164"></a><span class="lineno">  164</span>&#160;    {</div>
<div class="line"><a name="l00165"></a><span class="lineno">  165</span>&#160;        </div>
<div class="line"><a name="l00166"></a><span class="lineno">  166</span>&#160;        tMempool mempool;</div>
<div class="line"><a name="l00167"></a><span class="lineno">  167</span>&#160;        <span class="keywordtype">float</span> factor, oneminusfactor;</div>
<div class="line"><a name="l00168"></a><span class="lineno">  168</span>&#160;        <span class="keywordtype">float</span> curr,dest;</div>
<div class="line"><a name="l00169"></a><span class="lineno">  169</span>&#160;    } _tExpSmooth;</div>
<div class="line"><a name="l00170"></a><span class="lineno">  170</span>&#160;    </div>
<div class="line"><a name="l00171"></a><span class="lineno">  171</span>&#160;    <span class="keyword">typedef</span> _tExpSmooth* tExpSmooth;</div>
<div class="line"><a name="l00172"></a><span class="lineno">  172</span>&#160;    </div>
<div class="line"><a name="l00173"></a><span class="lineno">  173</span>&#160;    <span class="keywordtype">void</span>    <a class="code" href="group__texpsmooth.html#ga9074f846bd87a7e9071ff7a0fc77412a">tExpSmooth_init</a>         (tExpSmooth* <span class="keyword">const</span>, <span class="keywordtype">float</span> val, <span class="keywordtype">float</span> factor, <a class="code" href="struct_l_e_a_f.html">LEAF</a>* <span class="keyword">const</span> leaf);</div>
<div class="line"><a name="l00174"></a><span class="lineno">  174</span>&#160;    <span class="keywordtype">void</span>    <a class="code" href="group__texpsmooth.html#ga8b8656a6b3b3f824a3a4b1ad06fc5e9e">tExpSmooth_initToPool</a>   (tExpSmooth* <span class="keyword">const</span>, <span class="keywordtype">float</span> val, <span class="keywordtype">float</span> factor, tMempool* <span class="keyword">const</span>);</div>
<div class="line"><a name="l00175"></a><span class="lineno">  175</span>&#160;    <span class="keywordtype">void</span>    <a class="code" href="group__texpsmooth.html#gaf49340184c2380c43fd0cb990d9a6ea3">tExpSmooth_free</a>         (tExpSmooth* <span class="keyword">const</span>);</div>
<div class="line"><a name="l00176"></a><span class="lineno">  176</span>&#160;    </div>
<div class="line"><a name="l00177"></a><span class="lineno">  177</span>&#160;    <span class="keywordtype">float</span>   <a class="code" href="group__texpsmooth.html#ga9c772d0874085e260027716a6850c066">tExpSmooth_tick</a>         (tExpSmooth* <span class="keyword">const</span>);</div>
<div class="line"><a name="l00178"></a><span class="lineno">  178</span>&#160;    <span class="keywordtype">float</span>   <a class="code" href="group__texpsmooth.html#ga1f96e9a582c3bf85dd600f98eac11243">tExpSmooth_sample</a>       (tExpSmooth* <span class="keyword">const</span>);</div>
<div class="line"><a name="l00179"></a><span class="lineno">  179</span>&#160;    <span class="keywordtype">void</span>    <a class="code" href="group__texpsmooth.html#gaea5297fd207b49cecb42c583fe6549cc">tExpSmooth_setFactor</a>    (tExpSmooth* <span class="keyword">const</span>, <span class="keywordtype">float</span> factor);</div>
<div class="line"><a name="l00180"></a><span class="lineno">  180</span>&#160;    <span class="keywordtype">void</span>    <a class="code" href="group__texpsmooth.html#ga67d45ea3ba251bc651b06733bdd65e60">tExpSmooth_setDest</a>      (tExpSmooth* <span class="keyword">const</span>, <span class="keywordtype">float</span> dest);</div>
<div class="line"><a name="l00181"></a><span class="lineno">  181</span>&#160;    <span class="keywordtype">void</span>    <a class="code" href="group__texpsmooth.html#ga6e215e2d8a7e43e16d009f8eb805330e">tExpSmooth_setVal</a>       (tExpSmooth* <span class="keyword">const</span>, <span class="keywordtype">float</span> val);</div>
<div class="line"><a name="l00182"></a><span class="lineno">  182</span>&#160;    <span class="keywordtype">void</span>    <a class="code" href="group__texpsmooth.html#ga19fc6917c2d049c72b55f432ea24cfe5">tExpSmooth_setValAndDest</a>(tExpSmooth* <span class="keyword">const</span> expsmooth, <span class="keywordtype">float</span> val);</div>
<div class="line"><a name="l00183"></a><span class="lineno">  183</span>&#160;    </div>
<div class="line"><a name="l00184"></a><span class="lineno">  184</span>&#160;    <span class="comment">// ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~</span></div>
<div class="line"><a name="l00185"></a><span class="lineno">  185</span>&#160;    </div>
<div class="line"><a name="l00186"></a><span class="lineno">  186</span>&#160;    </div>
<div class="line"><a name="l00187"></a><span class="lineno">  187</span>&#160;    <span class="comment">// ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~</span></div>
<div class="line"><a name="l00188"></a><span class="lineno">  188</span>&#160;    </div>
<div class="line"><a name="l00243"></a><span class="lineno">  243</span>&#160;    <span class="comment">/* ADSR */</span></div>
<div class="line"><a name="l00244"></a><span class="lineno">  244</span>&#160;    <span class="keyword">typedef</span> <span class="keyword">struct </span>_tADSR</div>
<div class="line"><a name="l00245"></a><span class="lineno">  245</span>&#160;    {</div>
<div class="line"><a name="l00246"></a><span class="lineno">  246</span>&#160;        </div>
<div class="line"><a name="l00247"></a><span class="lineno">  247</span>&#160;        tMempool mempool;</div>
<div class="line"><a name="l00248"></a><span class="lineno">  248</span>&#160;        </div>
<div class="line"><a name="l00249"></a><span class="lineno">  249</span>&#160;        <span class="keyword">const</span> <span class="keywordtype">float</span> *exp_buff;</div>
<div class="line"><a name="l00250"></a><span class="lineno">  250</span>&#160;        <span class="keyword">const</span> <span class="keywordtype">float</span> *inc_buff;</div>
<div class="line"><a name="l00251"></a><span class="lineno">  251</span>&#160;        uint32_t buff_size;</div>
<div class="line"><a name="l00252"></a><span class="lineno">  252</span>&#160;        </div>
<div class="line"><a name="l00253"></a><span class="lineno">  253</span>&#160;        <span class="keywordtype">float</span> next;</div>
<div class="line"><a name="l00254"></a><span class="lineno">  254</span>&#160;        </div>
<div class="line"><a name="l00255"></a><span class="lineno">  255</span>&#160;        <span class="keywordtype">float</span> attackInc, decayInc, releaseInc, rampInc;</div>
<div class="line"><a name="l00256"></a><span class="lineno">  256</span>&#160;        </div>
<div class="line"><a name="l00257"></a><span class="lineno">  257</span>&#160;        <span class="keywordtype">int</span> inAttack, inDecay, inSustain, inRelease, inRamp;</div>
<div class="line"><a name="l00258"></a><span class="lineno">  258</span>&#160;        </div>
<div class="line"><a name="l00259"></a><span class="lineno">  259</span>&#160;        <span class="keywordtype">float</span> sustain, gain, rampPeak, releasePeak;</div>
<div class="line"><a name="l00260"></a><span class="lineno">  260</span>&#160;        </div>
<div class="line"><a name="l00261"></a><span class="lineno">  261</span>&#160;        <span class="keywordtype">float</span> attackPhase, decayPhase, releasePhase, rampPhase;</div>
<div class="line"><a name="l00262"></a><span class="lineno">  262</span>&#160;        </div>
<div class="line"><a name="l00263"></a><span class="lineno">  263</span>&#160;        <span class="keywordtype">float</span> leakFactor;</div>
<div class="line"><a name="l00264"></a><span class="lineno">  264</span>&#160;    } _tADSR;</div>
<div class="line"><a name="l00265"></a><span class="lineno">  265</span>&#160;    </div>
<div class="line"><a name="l00266"></a><span class="lineno">  266</span>&#160;    <span class="keyword">typedef</span> _tADSR* tADSR;</div>
<div class="line"><a name="l00267"></a><span class="lineno">  267</span>&#160;    </div>
<div class="line"><a name="l00268"></a><span class="lineno">  268</span>&#160;    <span class="keywordtype">void</span>    <a class="code" href="group__tadsr.html#gafa76d2b76694362abf9cf0ed987b7106">tADSR_init</a>    (tADSR* <span class="keyword">const</span> adsrenv, <span class="keywordtype">float</span> attack, <span class="keywordtype">float</span> decay, <span class="keywordtype">float</span> sustain, <span class="keywordtype">float</span> release, <a class="code" href="struct_l_e_a_f.html">LEAF</a>* <span class="keyword">const</span> leaf);</div>
<div class="line"><a name="l00269"></a><span class="lineno">  269</span>&#160;    <span class="keywordtype">void</span>    <a class="code" href="group__tadsr.html#gada1d7d74e13cfddaba736b2920b79d9f">tADSR_initToPool</a>    (tADSR* <span class="keyword">const</span> adsrenv, <span class="keywordtype">float</span> attack, <span class="keywordtype">float</span> decay, <span class="keywordtype">float</span> sustain, <span class="keywordtype">float</span> release, tMempool* <span class="keyword">const</span> mp);</div>
<div class="line"><a name="l00270"></a><span class="lineno">  270</span>&#160;    <span class="keywordtype">void</span>    <a class="code" href="group__tadsr.html#gaccc3f988aaab5a39b495b1ccd21da608">tADSR_free</a>          (tADSR* <span class="keyword">const</span>);</div>
<div class="line"><a name="l00271"></a><span class="lineno">  271</span>&#160;    </div>
<div class="line"><a name="l00272"></a><span class="lineno">  272</span>&#160;    <span class="keywordtype">float</span>   <a class="code" href="group__tadsr.html#gabbc3685eb6c47a49e657a1792d38dfc7">tADSR_tick</a>          (tADSR* <span class="keyword">const</span>);</div>
<div class="line"><a name="l00273"></a><span class="lineno">  273</span>&#160;    <span class="keywordtype">void</span>    <a class="code" href="group__tadsr.html#ga1cceb7951e999aa388bd72a7bb3901f6">tADSR_setAttack</a>     (tADSR* <span class="keyword">const</span>, <span class="keywordtype">float</span> attack);</div>
<div class="line"><a name="l00274"></a><span class="lineno">  274</span>&#160;    <span class="keywordtype">void</span>    <a class="code" href="group__tadsr.html#ga7f305ead6d014fbafcb132ebcc81dddb">tADSR_setDecay</a>      (tADSR* <span class="keyword">const</span>, <span class="keywordtype">float</span> decay);</div>
<div class="line"><a name="l00275"></a><span class="lineno">  275</span>&#160;    <span class="keywordtype">void</span>    <a class="code" href="group__tadsr.html#gac676d5a70fe7a8487d125e5aff250fd0">tADSR_setSustain</a>    (tADSR* <span class="keyword">const</span>, <span class="keywordtype">float</span> sustain);</div>
<div class="line"><a name="l00276"></a><span class="lineno">  276</span>&#160;    <span class="keywordtype">void</span>    <a class="code" href="group__tadsr.html#ga3d62827bbd4f058d07e6cb1a8b92cb9f">tADSR_setRelease</a>    (tADSR* <span class="keyword">const</span>, <span class="keywordtype">float</span> release);</div>
<div class="line"><a name="l00277"></a><span class="lineno">  277</span>&#160;    <span class="keywordtype">void</span>    <a class="code" href="group__tadsr.html#ga1802708b1a0c0ce324c3072554c01624">tADSR_setLeakFactor</a> (tADSR* <span class="keyword">const</span>, <span class="keywordtype">float</span> leakFactor);</div>
<div class="line"><a name="l00278"></a><span class="lineno">  278</span>&#160;    <span class="keywordtype">void</span>    <a class="code" href="group__tadsr.html#gaffd817040cc125f3b8204e756a16085c">tADSR_on</a>            (tADSR* <span class="keyword">const</span>, <span class="keywordtype">float</span> velocity);</div>
<div class="line"><a name="l00279"></a><span class="lineno">  279</span>&#160;    <span class="keywordtype">void</span>    <a class="code" href="group__tadsr.html#ga1a41adcdea81db09f04d008b9b8e62b8">tADSR_off</a>           (tADSR* <span class="keyword">const</span>);</div>
<div class="line"><a name="l00280"></a><span class="lineno">  280</span>&#160;    </div>
<div class="line"><a name="l00281"></a><span class="lineno">  281</span>&#160;    <span class="comment">// ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~</span></div>
<div class="line"><a name="l00282"></a><span class="lineno">  282</span>&#160;    </div>
<div class="line"><a name="l00337"></a><span class="lineno">  337</span>&#160;    <span class="keyword">typedef</span> <span class="keyword">struct </span>_tADSR2</div>
<div class="line"><a name="l00338"></a><span class="lineno">  338</span>&#160;    {</div>
<div class="line"><a name="l00339"></a><span class="lineno">  339</span>&#160;        </div>
<div class="line"><a name="l00340"></a><span class="lineno">  340</span>&#160;        tMempool mempool;</div>
<div class="line"><a name="l00341"></a><span class="lineno">  341</span>&#160;        <span class="keywordtype">float</span> sampleRateInMs;</div>
<div class="line"><a name="l00342"></a><span class="lineno">  342</span>&#160;        <span class="keywordtype">float</span> attack;</div>
<div class="line"><a name="l00343"></a><span class="lineno">  343</span>&#160;        <span class="keywordtype">float</span> decay;</div>
<div class="line"><a name="l00344"></a><span class="lineno">  344</span>&#160;        <span class="keywordtype">float</span> release;</div>
<div class="line"><a name="l00345"></a><span class="lineno">  345</span>&#160;        <span class="keywordtype">float</span> attackLambda;</div>
<div class="line"><a name="l00346"></a><span class="lineno">  346</span>&#160;        <span class="keywordtype">float</span> decayLambda;</div>
<div class="line"><a name="l00347"></a><span class="lineno">  347</span>&#160;        <span class="keywordtype">float</span> releaseLambda;</div>
<div class="line"><a name="l00348"></a><span class="lineno">  348</span>&#160;        <span class="keywordtype">float</span> sustain;</div>
<div class="line"><a name="l00349"></a><span class="lineno">  349</span>&#160;        <span class="keywordtype">float</span> leakGain;</div>
<div class="line"><a name="l00350"></a><span class="lineno">  350</span>&#160;        <span class="keywordtype">float</span> leakFactor;</div>
<div class="line"><a name="l00351"></a><span class="lineno">  351</span>&#160;        <span class="keywordtype">float</span> targetGainSquared;</div>
<div class="line"><a name="l00352"></a><span class="lineno">  352</span>&#160;        <span class="keywordtype">float</span> factor;</div>
<div class="line"><a name="l00353"></a><span class="lineno">  353</span>&#160;        <span class="keywordtype">float</span> oneMinusFactor;</div>
<div class="line"><a name="l00354"></a><span class="lineno">  354</span>&#160;        <span class="keywordtype">float</span> gain;</div>
<div class="line"><a name="l00355"></a><span class="lineno">  355</span>&#160;        uint8_t attacking;</div>
<div class="line"><a name="l00356"></a><span class="lineno">  356</span>&#160;        uint8_t gate;</div>
<div class="line"><a name="l00357"></a><span class="lineno">  357</span>&#160;        <span class="keywordtype">float</span> env;</div>
<div class="line"><a name="l00358"></a><span class="lineno">  358</span>&#160;        <span class="keywordtype">float</span> envTarget;</div>
<div class="line"><a name="l00359"></a><span class="lineno">  359</span>&#160;    } _tADSR2;</div>
<div class="line"><a name="l00360"></a><span class="lineno">  360</span>&#160;    </div>
<div class="line"><a name="l00361"></a><span class="lineno">  361</span>&#160;    <span class="keyword">typedef</span> _tADSR2* tADSR2;</div>
<div class="line"><a name="l00362"></a><span class="lineno">  362</span>&#160;    </div>
<div class="line"><a name="l00363"></a><span class="lineno">  363</span>&#160;    <span class="keywordtype">void</span>    <a class="code" href="group__tasdr2.html#ga5b195997b8fc1934c6cb06cc13f09c13">tADSR2_init</a>          (tADSR2* <span class="keyword">const</span>, <span class="keywordtype">float</span> attack, <span class="keywordtype">float</span> decay, <span class="keywordtype">float</span> sustain, <span class="keywordtype">float</span> release, <a class="code" href="struct_l_e_a_f.html">LEAF</a>* <span class="keyword">const</span> leaf);</div>
<div class="line"><a name="l00364"></a><span class="lineno">  364</span>&#160;    <span class="keywordtype">void</span>    <a class="code" href="group__tasdr2.html#ga15dbf5b654eb51489bef787f4c9c23b7">tADSR2_initToPool</a>    (tADSR2* <span class="keyword">const</span>, <span class="keywordtype">float</span> attack, <span class="keywordtype">float</span> decay, <span class="keywordtype">float</span> sustain, <span class="keywordtype">float</span> release, tMempool* <span class="keyword">const</span>);</div>
<div class="line"><a name="l00365"></a><span class="lineno">  365</span>&#160;    <span class="keywordtype">void</span>    <a class="code" href="group__tasdr2.html#ga3d78c0c766ca431b535d3adb0bc2f684">tADSR2_free</a>          (tADSR2* <span class="keyword">const</span>);</div>
<div class="line"><a name="l00366"></a><span class="lineno">  366</span>&#160;    </div>
<div class="line"><a name="l00367"></a><span class="lineno">  367</span>&#160;    <span class="keywordtype">float</span>   <a class="code" href="group__tasdr2.html#ga3033906b9b5a6688818059210b10799e">tADSR2_tick</a>          (tADSR2* <span class="keyword">const</span>);</div>
<div class="line"><a name="l00368"></a><span class="lineno">  368</span>&#160;    <span class="keywordtype">void</span>    <a class="code" href="group__tasdr2.html#ga19f6d152bd5b351dcc4416f4a5f51555">tADSR2_setAttack</a>     (tADSR2* <span class="keyword">const</span>, <span class="keywordtype">float</span> attack);</div>
<div class="line"><a name="l00369"></a><span class="lineno">  369</span>&#160;    <span class="keywordtype">void</span>    <a class="code" href="group__tasdr2.html#gab50e8fb5a053b908b69315cd83e1840a">tADSR2_setDecay</a>      (tADSR2* <span class="keyword">const</span>, <span class="keywordtype">float</span> decay);</div>
<div class="line"><a name="l00370"></a><span class="lineno">  370</span>&#160;    <span class="keywordtype">void</span>    <a class="code" href="group__tasdr2.html#ga3910c7c0360e0d7859e4bcf5521b3e7d">tADSR2_setSustain</a>    (tADSR2* <span class="keyword">const</span>, <span class="keywordtype">float</span> sustain);</div>
<div class="line"><a name="l00371"></a><span class="lineno">  371</span>&#160;    <span class="keywordtype">void</span>    <a class="code" href="group__tasdr2.html#gaf68f6a5e10f25998f33d65162f9eb583">tADSR2_setRelease</a>    (tADSR2* <span class="keyword">const</span>, <span class="keywordtype">float</span> release);</div>
<div class="line"><a name="l00372"></a><span class="lineno">  372</span>&#160;    <span class="keywordtype">void</span>    <a class="code" href="group__tasdr2.html#ga8490472fff769f548a45739892a31758">tADSR2_setLeakFactor</a> (tADSR2* <span class="keyword">const</span>, <span class="keywordtype">float</span> leakFactor);</div>
<div class="line"><a name="l00373"></a><span class="lineno">  373</span>&#160;    <span class="keywordtype">void</span>    <a class="code" href="group__tasdr2.html#ga2ba1656a4f5d1f8dcecde930ea54c7b7">tADSR2_on</a>            (tADSR2* <span class="keyword">const</span>, <span class="keywordtype">float</span> velocity);</div>
<div class="line"><a name="l00374"></a><span class="lineno">  374</span>&#160;    <span class="keywordtype">void</span>    <a class="code" href="group__tasdr2.html#gadd6f357864babc27382363b314efd70d">tADSR2_off</a>           (tADSR2* <span class="keyword">const</span>);</div>
<div class="line"><a name="l00375"></a><span class="lineno">  375</span>&#160;    </div>
<div class="line"><a name="l00376"></a><span class="lineno">  376</span>&#160;    </div>
<div class="line"><a name="l00377"></a><span class="lineno">  377</span>&#160;    <span class="comment">// ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~</span></div>
<div class="line"><a name="l00378"></a><span class="lineno">  378</span>&#160;    </div>
<div class="line"><a name="l00433"></a><span class="lineno">  433</span>&#160;    <span class="keyword">enum</span> envState {</div>
<div class="line"><a name="l00434"></a><span class="lineno">  434</span>&#160;        env_idle = 0,</div>
<div class="line"><a name="l00435"></a><span class="lineno">  435</span>&#160;        env_attack,</div>
<div class="line"><a name="l00436"></a><span class="lineno">  436</span>&#160;        env_decay,</div>
<div class="line"><a name="l00437"></a><span class="lineno">  437</span>&#160;        env_sustain,</div>
<div class="line"><a name="l00438"></a><span class="lineno">  438</span>&#160;        env_release,</div>
<div class="line"><a name="l00439"></a><span class="lineno">  439</span>&#160;        env_ramp</div>
<div class="line"><a name="l00440"></a><span class="lineno">  440</span>&#160;    };</div>
<div class="line"><a name="l00441"></a><span class="lineno">  441</span>&#160;    </div>
<div class="line"><a name="l00442"></a><span class="lineno">  442</span>&#160;    <span class="keyword">typedef</span> <span class="keyword">struct </span>_tADSR3</div>
<div class="line"><a name="l00443"></a><span class="lineno">  443</span>&#160;    {</div>
<div class="line"><a name="l00444"></a><span class="lineno">  444</span>&#160;        </div>
<div class="line"><a name="l00445"></a><span class="lineno">  445</span>&#160;        tMempool mempool;</div>
<div class="line"><a name="l00446"></a><span class="lineno">  446</span>&#160;        <span class="keywordtype">float</span> sampleRateInMs;</div>
<div class="line"><a name="l00447"></a><span class="lineno">  447</span>&#160;        <span class="keywordtype">int</span> state;</div>
<div class="line"><a name="l00448"></a><span class="lineno">  448</span>&#160;        <span class="keywordtype">float</span> output;</div>
<div class="line"><a name="l00449"></a><span class="lineno">  449</span>&#160;        <span class="keywordtype">float</span> attackRate;</div>
<div class="line"><a name="l00450"></a><span class="lineno">  450</span>&#160;        <span class="keywordtype">float</span> decayRate;</div>
<div class="line"><a name="l00451"></a><span class="lineno">  451</span>&#160;        <span class="keywordtype">float</span> releaseRate;</div>
<div class="line"><a name="l00452"></a><span class="lineno">  452</span>&#160;        <span class="keywordtype">float</span> attackCoef;</div>
<div class="line"><a name="l00453"></a><span class="lineno">  453</span>&#160;        <span class="keywordtype">float</span> decayCoef;</div>
<div class="line"><a name="l00454"></a><span class="lineno">  454</span>&#160;        <span class="keywordtype">float</span> releaseCoef;</div>
<div class="line"><a name="l00455"></a><span class="lineno">  455</span>&#160;        <span class="keywordtype">float</span> sustainLevel;</div>
<div class="line"><a name="l00456"></a><span class="lineno">  456</span>&#160;        <span class="keywordtype">float</span> targetRatioA;</div>
<div class="line"><a name="l00457"></a><span class="lineno">  457</span>&#160;        <span class="keywordtype">float</span> targetRatioDR;</div>
<div class="line"><a name="l00458"></a><span class="lineno">  458</span>&#160;        <span class="keywordtype">float</span> attackBase;</div>
<div class="line"><a name="l00459"></a><span class="lineno">  459</span>&#160;        <span class="keywordtype">float</span> decayBase;</div>
<div class="line"><a name="l00460"></a><span class="lineno">  460</span>&#160;        <span class="keywordtype">float</span> releaseBase;</div>
<div class="line"><a name="l00461"></a><span class="lineno">  461</span>&#160;        <span class="keywordtype">float</span> leakFactor;</div>
<div class="line"><a name="l00462"></a><span class="lineno">  462</span>&#160;        <span class="keywordtype">float</span> targetGainSquared;</div>
<div class="line"><a name="l00463"></a><span class="lineno">  463</span>&#160;        <span class="keywordtype">float</span> factor;</div>
<div class="line"><a name="l00464"></a><span class="lineno">  464</span>&#160;        <span class="keywordtype">float</span> oneMinusFactor;</div>
<div class="line"><a name="l00465"></a><span class="lineno">  465</span>&#160;        <span class="keywordtype">float</span> gain;</div>
<div class="line"><a name="l00466"></a><span class="lineno">  466</span>&#160;        </div>
<div class="line"><a name="l00467"></a><span class="lineno">  467</span>&#160;    } _tADSR3;</div>
<div class="line"><a name="l00468"></a><span class="lineno">  468</span>&#160;    </div>
<div class="line"><a name="l00469"></a><span class="lineno">  469</span>&#160;    <span class="keyword">typedef</span> _tADSR3* tADSR3;</div>
<div class="line"><a name="l00470"></a><span class="lineno">  470</span>&#160;    </div>
<div class="line"><a name="l00471"></a><span class="lineno">  471</span>&#160;    <span class="keywordtype">void</span>    <a class="code" href="group__tadsr3.html#ga61f1fd529df0d97a9a74b9523024b1fe">tADSR3_init</a>          (tADSR3* <span class="keyword">const</span>, <span class="keywordtype">float</span> attack, <span class="keywordtype">float</span> decay, <span class="keywordtype">float</span> sustain, <span class="keywordtype">float</span> release, <a class="code" href="struct_l_e_a_f.html">LEAF</a>* <span class="keyword">const</span> leaf);</div>
<div class="line"><a name="l00472"></a><span class="lineno">  472</span>&#160;    <span class="keywordtype">void</span>    <a class="code" href="group__tadsr3.html#ga7e0784b34c2fef54de2ed993d68f9b7c">tADSR3_initToPool</a>    (tADSR3* <span class="keyword">const</span>, <span class="keywordtype">float</span> attack, <span class="keywordtype">float</span> decay, <span class="keywordtype">float</span> sustain, <span class="keywordtype">float</span> release, tMempool* <span class="keyword">const</span>);</div>
<div class="line"><a name="l00473"></a><span class="lineno">  473</span>&#160;    <span class="keywordtype">void</span>    <a class="code" href="group__tadsr3.html#gaf633a93865d4a9d4ba4840624f2b41bf">tADSR3_free</a>          (tADSR3* <span class="keyword">const</span>);</div>
<div class="line"><a name="l00474"></a><span class="lineno">  474</span>&#160;    </div>
<div class="line"><a name="l00475"></a><span class="lineno">  475</span>&#160;    <span class="keywordtype">float</span>   <a class="code" href="group__tadsr3.html#ga3b959e263e7322d7876bdf5e9b633a16">tADSR3_tick</a>          (tADSR3* <span class="keyword">const</span>);</div>
<div class="line"><a name="l00476"></a><span class="lineno">  476</span>&#160;    <span class="keywordtype">void</span>    <a class="code" href="group__tadsr3.html#ga0a6a119590346ee356f486d8af00567a">tADSR3_setAttack</a>     (tADSR3* <span class="keyword">const</span>, <span class="keywordtype">float</span> attack);</div>
<div class="line"><a name="l00477"></a><span class="lineno">  477</span>&#160;    <span class="keywordtype">void</span>    <a class="code" href="group__tadsr3.html#ga325386ad4640ec898971fdedf87b3b49">tADSR3_setDecay</a>      (tADSR3* <span class="keyword">const</span>, <span class="keywordtype">float</span> decay);</div>
<div class="line"><a name="l00478"></a><span class="lineno">  478</span>&#160;    <span class="keywordtype">void</span>    <a class="code" href="group__tadsr3.html#gae5695ee654846bf4f3f092c3f2136ca8">tADSR3_setSustain</a>    (tADSR3* <span class="keyword">const</span>, <span class="keywordtype">float</span> sustain);</div>
<div class="line"><a name="l00479"></a><span class="lineno">  479</span>&#160;    <span class="keywordtype">void</span>    <a class="code" href="group__tadsr3.html#ga3ac9763101f9e3b5338ea92cc02a6032">tADSR3_setRelease</a>    (tADSR3* <span class="keyword">const</span>, <span class="keywordtype">float</span> release);</div>
<div class="line"><a name="l00480"></a><span class="lineno">  480</span>&#160;    <span class="keywordtype">void</span>    <a class="code" href="group__tadsr3.html#ga589972bef8fca1a6a99064b92968c9fc">tADSR3_setLeakFactor</a> (tADSR3* <span class="keyword">const</span>, <span class="keywordtype">float</span> leakFactor);</div>
<div class="line"><a name="l00481"></a><span class="lineno">  481</span>&#160;    <span class="keywordtype">void</span>    <a class="code" href="group__tadsr3.html#ga6054295d933bb2d27898664f4b6f067e">tADSR3_on</a>            (tADSR3* <span class="keyword">const</span>, <span class="keywordtype">float</span> velocity);</div>
<div class="line"><a name="l00482"></a><span class="lineno">  482</span>&#160;    <span class="keywordtype">void</span>    <a class="code" href="group__tadsr3.html#gad48b26429b4224b199b26690a0d480f1">tADSR3_off</a>           (tADSR3* <span class="keyword">const</span>);</div>
<div class="line"><a name="l00483"></a><span class="lineno">  483</span>&#160;    </div>
<div class="line"><a name="l00484"></a><span class="lineno">  484</span>&#160;    <span class="comment">// ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~</span></div>
<div class="line"><a name="l00485"></a><span class="lineno">  485</span>&#160;    </div>
<div class="line"><a name="l00544"></a><span class="lineno">  544</span>&#160;    <span class="keyword">typedef</span> <span class="keyword">struct </span>_tADSR4</div>
<div class="line"><a name="l00545"></a><span class="lineno">  545</span>&#160;    {</div>
<div class="line"><a name="l00546"></a><span class="lineno">  546</span>&#160;        </div>
<div class="line"><a name="l00547"></a><span class="lineno">  547</span>&#160;        tMempool mempool;</div>
<div class="line"><a name="l00548"></a><span class="lineno">  548</span>&#160;        <span class="keyword">const</span> <span class="keywordtype">float</span> *exp_buff;</div>
<div class="line"><a name="l00549"></a><span class="lineno">  549</span>&#160;        uint32_t buff_size;</div>
<div class="line"><a name="l00550"></a><span class="lineno">  550</span>&#160;        uint32_t buff_sizeMinusOne;</div>
<div class="line"><a name="l00551"></a><span class="lineno">  551</span>&#160;        <span class="keywordtype">float</span> bufferSizeDividedBySampleRateInMs;</div>
<div class="line"><a name="l00552"></a><span class="lineno">  552</span>&#160;        <span class="keywordtype">float</span> next;</div>
<div class="line"><a name="l00553"></a><span class="lineno">  553</span>&#160;        </div>
<div class="line"><a name="l00554"></a><span class="lineno">  554</span>&#160;        <span class="keywordtype">float</span> attackInc, decayInc, releaseInc, rampInc;</div>
<div class="line"><a name="l00555"></a><span class="lineno">  555</span>&#160;        </div>
<div class="line"><a name="l00556"></a><span class="lineno">  556</span>&#160;        uint32_t whichStage;</div>
<div class="line"><a name="l00557"></a><span class="lineno">  557</span>&#160;        </div>
<div class="line"><a name="l00558"></a><span class="lineno">  558</span>&#160;        <span class="keywordtype">float</span> sustain, gain, rampPeak, releasePeak;</div>
<div class="line"><a name="l00559"></a><span class="lineno">  559</span>&#160;        </div>
<div class="line"><a name="l00560"></a><span class="lineno">  560</span>&#160;        <span class="keywordtype">float</span> attackPhase, decayPhase, releasePhase, rampPhase;</div>
<div class="line"><a name="l00561"></a><span class="lineno">  561</span>&#160;        </div>
<div class="line"><a name="l00562"></a><span class="lineno">  562</span>&#160;        <span class="keywordtype">float</span> leakFactor;</div>
<div class="line"><a name="l00563"></a><span class="lineno">  563</span>&#160;    } _tADSR4;</div>
<div class="line"><a name="l00564"></a><span class="lineno">  564</span>&#160;    </div>
<div class="line"><a name="l00565"></a><span class="lineno">  565</span>&#160;    <span class="keyword">typedef</span> _tADSR4* tADSR4;</div>
<div class="line"><a name="l00566"></a><span class="lineno">  566</span>&#160;    </div>
<div class="line"><a name="l00567"></a><span class="lineno">  567</span>&#160;    <span class="keywordtype">void</span>    <a class="code" href="group__tadsr4.html#ga18f8440695a8f99ff6469ff9df6395c2">tADSR4_init</a>          (tADSR4* <span class="keyword">const</span>, <span class="keywordtype">float</span> attack, <span class="keywordtype">float</span> decay, <span class="keywordtype">float</span> sustain, <span class="keywordtype">float</span> release, <span class="keywordtype">float</span>* expBuffer, <span class="keywordtype">int</span> bufferSize, <a class="code" href="struct_l_e_a_f.html">LEAF</a>* <span class="keyword">const</span> leaf);</div>
<div class="line"><a name="l00568"></a><span class="lineno">  568</span>&#160;    <span class="keywordtype">void</span>    <a class="code" href="group__tadsr4.html#ga731d6838ae65373c787ecf977523c121">tADSR4_initToPool</a>    (tADSR4* <span class="keyword">const</span>, <span class="keywordtype">float</span> attack, <span class="keywordtype">float</span> decay, <span class="keywordtype">float</span> sustain, <span class="keywordtype">float</span> release, <span class="keywordtype">float</span>* expBuffer, <span class="keywordtype">int</span> bufferSize, tMempool* <span class="keyword">const</span>);</div>
<div class="line"><a name="l00569"></a><span class="lineno">  569</span>&#160;    <span class="keywordtype">void</span>    <a class="code" href="group__tadsr4.html#ga2889f7a9596ba5e9d386c9913e51e62d">tADSR4_free</a>          (tADSR4* <span class="keyword">const</span>);</div>
<div class="line"><a name="l00570"></a><span class="lineno">  570</span>&#160;    </div>
<div class="line"><a name="l00571"></a><span class="lineno">  571</span>&#160;    <span class="keywordtype">float</span>   <a class="code" href="group__tadsr4.html#ga5f4cc4b20251f8240c0208b452b8eff3">tADSR4_tick</a>          (tADSR4* <span class="keyword">const</span>);</div>
<div class="line"><a name="l00572"></a><span class="lineno">  572</span>&#160;    <span class="keywordtype">float</span>   <a class="code" href="group__tadsr4.html#ga32a5545ca2510d666b9c59d9106888c5">tADSR4_tickNoInterp</a>  (tADSR4* <span class="keyword">const</span> adsrenv);</div>
<div class="line"><a name="l00573"></a><span class="lineno">  573</span>&#160;    <span class="keywordtype">void</span>    <a class="code" href="group__tadsr4.html#ga5059a2109760aa0188c4769a52b4a4a3">tADSR4_setAttack</a>     (tADSR4* <span class="keyword">const</span>, <span class="keywordtype">float</span> attack);</div>
<div class="line"><a name="l00574"></a><span class="lineno">  574</span>&#160;    <span class="keywordtype">void</span>    <a class="code" href="group__tadsr4.html#gab5b58a1067454a87cdff5e09a86e4af3">tADSR4_setDecay</a>      (tADSR4* <span class="keyword">const</span>, <span class="keywordtype">float</span> decay);</div>
<div class="line"><a name="l00575"></a><span class="lineno">  575</span>&#160;    <span class="keywordtype">void</span>    <a class="code" href="group__tadsr4.html#ga691edaf4b254d1d44bee378312e370be">tADSR4_setSustain</a>    (tADSR4* <span class="keyword">const</span>, <span class="keywordtype">float</span> sustain);</div>
<div class="line"><a name="l00576"></a><span class="lineno">  576</span>&#160;    <span class="keywordtype">void</span>    <a class="code" href="group__tadsr4.html#ga7a53860240f681a65d90302145702697">tADSR4_setRelease</a>    (tADSR4* <span class="keyword">const</span>, <span class="keywordtype">float</span> release);</div>
<div class="line"><a name="l00577"></a><span class="lineno">  577</span>&#160;    <span class="keywordtype">void</span>    <a class="code" href="group__tadsr4.html#gad79710f31593ada4e3834ebefd67a388">tADSR4_setLeakFactor</a> (tADSR4* <span class="keyword">const</span>, <span class="keywordtype">float</span> leakFactor);</div>
<div class="line"><a name="l00578"></a><span class="lineno">  578</span>&#160;    <span class="keywordtype">void</span>    <a class="code" href="group__tadsr4.html#ga63a8a38f1f6f319d0103acf7d0fb21ad">tADSR4_on</a>            (tADSR4* <span class="keyword">const</span>, <span class="keywordtype">float</span> velocity);</div>
<div class="line"><a name="l00579"></a><span class="lineno">  579</span>&#160;    <span class="keywordtype">void</span>    <a class="code" href="group__tadsr4.html#ga0271a2f741bed72edb08dc965433dade">tADSR4_off</a>           (tADSR4* <span class="keyword">const</span>);</div>
<div class="line"><a name="l00580"></a><span class="lineno">  580</span>&#160;    </div>
<div class="line"><a name="l00581"></a><span class="lineno">  581</span>&#160;    <span class="comment">// ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~</span></div>
<div class="line"><a name="l00582"></a><span class="lineno">  582</span>&#160;    </div>
<div class="line"><a name="l00625"></a><span class="lineno">  625</span>&#160;    <span class="keyword">typedef</span> <span class="keyword">struct </span>_tRamp</div>
<div class="line"><a name="l00626"></a><span class="lineno">  626</span>&#160;    {</div>
<div class="line"><a name="l00627"></a><span class="lineno">  627</span>&#160;        </div>
<div class="line"><a name="l00628"></a><span class="lineno">  628</span>&#160;        tMempool mempool;</div>
<div class="line"><a name="l00629"></a><span class="lineno">  629</span>&#160;        <span class="keywordtype">float</span> inc;</div>
<div class="line"><a name="l00630"></a><span class="lineno">  630</span>&#160;        <span class="keywordtype">float</span> inv_sr_ms;</div>
<div class="line"><a name="l00631"></a><span class="lineno">  631</span>&#160;        <span class="keywordtype">float</span> minimum_time;</div>
<div class="line"><a name="l00632"></a><span class="lineno">  632</span>&#160;        <span class="keywordtype">float</span> curr,dest;</div>
<div class="line"><a name="l00633"></a><span class="lineno">  633</span>&#160;        <span class="keywordtype">float</span> time;</div>
<div class="line"><a name="l00634"></a><span class="lineno">  634</span>&#160;        <span class="keywordtype">float</span> factor;</div>
<div class="line"><a name="l00635"></a><span class="lineno">  635</span>&#160;        <span class="keywordtype">int</span> samples_per_tick;</div>
<div class="line"><a name="l00636"></a><span class="lineno">  636</span>&#160;    } _tRamp;</div>
<div class="line"><a name="l00637"></a><span class="lineno">  637</span>&#160;    </div>
<div class="line"><a name="l00638"></a><span class="lineno">  638</span>&#160;    <span class="keyword">typedef</span> _tRamp* tRamp;</div>
<div class="line"><a name="l00639"></a><span class="lineno">  639</span>&#160;    </div>
<div class="line"><a name="l00640"></a><span class="lineno">  640</span>&#160;    <span class="keywordtype">void</span>    <a class="code" href="group__tramp.html#ga44d22f890ed04cd061cfba963b1f9729">tRamp_init</a>          (tRamp* <span class="keyword">const</span>, <span class="keywordtype">float</span> time, <span class="keywordtype">int</span> samplesPerTick, <a class="code" href="struct_l_e_a_f.html">LEAF</a>* <span class="keyword">const</span> leaf);</div>
<div class="line"><a name="l00641"></a><span class="lineno">  641</span>&#160;    <span class="keywordtype">void</span>    <a class="code" href="group__tramp.html#gac4d46bba12df2569f57bbdb9b407fe24">tRamp_initToPool</a>    (tRamp* <span class="keyword">const</span>, <span class="keywordtype">float</span> time, <span class="keywordtype">int</span> samplesPerTick, tMempool* <span class="keyword">const</span>);</div>
<div class="line"><a name="l00642"></a><span class="lineno">  642</span>&#160;    <span class="keywordtype">void</span>    <a class="code" href="group__tramp.html#ga155e473a79ce4b174fa468981bb13750">tRamp_free</a>          (tRamp* <span class="keyword">const</span>);</div>
<div class="line"><a name="l00643"></a><span class="lineno">  643</span>&#160;    </div>
<div class="line"><a name="l00644"></a><span class="lineno">  644</span>&#160;    <span class="keywordtype">float</span>   <a class="code" href="group__tramp.html#gadd8abe3a4b8f0f082d1a7f2c752f7980">tRamp_tick</a>          (tRamp* <span class="keyword">const</span>);</div>
<div class="line"><a name="l00645"></a><span class="lineno">  645</span>&#160;    <span class="keywordtype">float</span>   <a class="code" href="group__tramp.html#ga4a3488c43e978d905080773353ce40f4">tRamp_sample</a>        (tRamp* <span class="keyword">const</span>);</div>
<div class="line"><a name="l00646"></a><span class="lineno">  646</span>&#160;    <span class="keywordtype">void</span>    <a class="code" href="group__tramp.html#gada173eb52e34ee8fb16d79026014a4be">tRamp_setTime</a>       (tRamp* <span class="keyword">const</span>, <span class="keywordtype">float</span> time);</div>
<div class="line"><a name="l00647"></a><span class="lineno">  647</span>&#160;    <span class="keywordtype">void</span>    <a class="code" href="group__tramp.html#gad348c3b0601d99326ce06ba017ef2508">tRamp_setDest</a>       (tRamp* <span class="keyword">const</span>, <span class="keywordtype">float</span> dest);</div>
<div class="line"><a name="l00648"></a><span class="lineno">  648</span>&#160;    <span class="keywordtype">void</span>    <a class="code" href="group__tramp.html#gafe5e687461cdb8b7cd0714b9fdca4223">tRamp_setVal</a>        (tRamp* <span class="keyword">const</span>, <span class="keywordtype">float</span> val);</div>
<div class="line"><a name="l00649"></a><span class="lineno">  649</span>&#160;    </div>
<div class="line"><a name="l00696"></a><span class="lineno">  696</span>&#160;    <span class="keyword">typedef</span> <span class="keyword">struct </span>_tRampUpDown</div>
<div class="line"><a name="l00697"></a><span class="lineno">  697</span>&#160;    {</div>
<div class="line"><a name="l00698"></a><span class="lineno">  698</span>&#160;        </div>
<div class="line"><a name="l00699"></a><span class="lineno">  699</span>&#160;        tMempool mempool;</div>
<div class="line"><a name="l00700"></a><span class="lineno">  700</span>&#160;        <span class="keywordtype">float</span> upInc;</div>
<div class="line"><a name="l00701"></a><span class="lineno">  701</span>&#160;        <span class="keywordtype">float</span> downInc;</div>
<div class="line"><a name="l00702"></a><span class="lineno">  702</span>&#160;        <span class="keywordtype">float</span> inv_sr_ms;</div>
<div class="line"><a name="l00703"></a><span class="lineno">  703</span>&#160;        <span class="keywordtype">float</span> minimum_time;</div>
<div class="line"><a name="l00704"></a><span class="lineno">  704</span>&#160;        <span class="keywordtype">float</span> curr,dest;</div>
<div class="line"><a name="l00705"></a><span class="lineno">  705</span>&#160;        <span class="keywordtype">float</span> upTime;</div>
<div class="line"><a name="l00706"></a><span class="lineno">  706</span>&#160;        <span class="keywordtype">float</span> downTime;</div>
<div class="line"><a name="l00707"></a><span class="lineno">  707</span>&#160;        <span class="keywordtype">int</span> samples_per_tick;</div>
<div class="line"><a name="l00708"></a><span class="lineno">  708</span>&#160;    } _tRampUpDown;</div>
<div class="line"><a name="l00709"></a><span class="lineno">  709</span>&#160;    </div>
<div class="line"><a name="l00710"></a><span class="lineno">  710</span>&#160;    <span class="keyword">typedef</span> _tRampUpDown* tRampUpDown;</div>
<div class="line"><a name="l00711"></a><span class="lineno">  711</span>&#160;    </div>
<div class="line"><a name="l00712"></a><span class="lineno">  712</span>&#160;    <span class="keywordtype">void</span>    <a class="code" href="group__trampupdown.html#ga10049078d9afde547db5345067355741">tRampUpDown_init</a>          (tRampUpDown* <span class="keyword">const</span>, <span class="keywordtype">float</span> upTime, <span class="keywordtype">float</span> downTime, <span class="keywordtype">int</span> samplesPerTick, <a class="code" href="struct_l_e_a_f.html">LEAF</a>* <span class="keyword">const</span> leaf);</div>
<div class="line"><a name="l00713"></a><span class="lineno">  713</span>&#160;    <span class="keywordtype">void</span>    <a class="code" href="group__trampupdown.html#ga971e5d4b58631194769d9ff29b09bab0">tRampUpDown_initToPool</a>    (tRampUpDown* <span class="keyword">const</span>, <span class="keywordtype">float</span> upTime, <span class="keywordtype">float</span> downTime, <span class="keywordtype">int</span> samplesPerTick, tMempool* <span class="keyword">const</span>);</div>
<div class="line"><a name="l00714"></a><span class="lineno">  714</span>&#160;    <span class="keywordtype">void</span>    <a class="code" href="group__trampupdown.html#ga8eeaec61bbb73b00497dd5c62e43298e">tRampUpDown_free</a>          (tRampUpDown* <span class="keyword">const</span>);</div>
<div class="line"><a name="l00715"></a><span class="lineno">  715</span>&#160;    </div>
<div class="line"><a name="l00716"></a><span class="lineno">  716</span>&#160;    <span class="keywordtype">float</span>   <a class="code" href="group__trampupdown.html#gae271d51d8270f50237f2b46b476930bf">tRampUpDown_tick</a>          (tRampUpDown* <span class="keyword">const</span>);</div>
<div class="line"><a name="l00717"></a><span class="lineno">  717</span>&#160;    <span class="keywordtype">float</span>   <a class="code" href="group__trampupdown.html#gacf9c6cad23c6fb79c002fdb60a132e69">tRampUpDown_sample</a>        (tRampUpDown* <span class="keyword">const</span>);</div>
<div class="line"><a name="l00718"></a><span class="lineno">  718</span>&#160;    <span class="keywordtype">void</span>    <a class="code" href="group__trampupdown.html#ga8d3a86e1a0937104788d63bafc34d37e">tRampUpDown_setUpTime</a>       (tRampUpDown* <span class="keyword">const</span>, <span class="keywordtype">float</span> upTime);</div>
<div class="line"><a name="l00719"></a><span class="lineno">  719</span>&#160;    <span class="keywordtype">void</span>    <a class="code" href="group__trampupdown.html#ga15eca113d583ad81c71750cb13efb8f4">tRampUpDown_setDownTime</a>       (tRampUpDown* <span class="keyword">const</span>, <span class="keywordtype">float</span> downTime);</div>
<div class="line"><a name="l00720"></a><span class="lineno">  720</span>&#160;    <span class="keywordtype">void</span>    <a class="code" href="group__trampupdown.html#ga3902f92b1057f9bd37ea24afe6ee93a0">tRampUpDown_setDest</a>       (tRampUpDown* <span class="keyword">const</span>, <span class="keywordtype">float</span> dest);</div>
<div class="line"><a name="l00721"></a><span class="lineno">  721</span>&#160;    <span class="keywordtype">void</span>    <a class="code" href="group__trampupdown.html#ga9c1bbd455bd922c8b51c1b5e8c50e885">tRampUpDown_setVal</a>        (tRampUpDown* <span class="keyword">const</span>, <span class="keywordtype">float</span> val);</div>
<div class="line"><a name="l00722"></a><span class="lineno">  722</span>&#160;    </div>
<div class="line"><a name="l00723"></a><span class="lineno">  723</span>&#160;    </div>
<div class="line"><a name="l00724"></a><span class="lineno">  724</span>&#160;    </div>
<div class="line"><a name="l00767"></a><span class="lineno">  767</span>&#160;    <span class="keyword">typedef</span> <span class="keyword">struct </span>_tSlide</div>
<div class="line"><a name="l00768"></a><span class="lineno">  768</span>&#160;    {</div>
<div class="line"><a name="l00769"></a><span class="lineno">  769</span>&#160;        </div>
<div class="line"><a name="l00770"></a><span class="lineno">  770</span>&#160;        tMempool mempool;</div>
<div class="line"><a name="l00771"></a><span class="lineno">  771</span>&#160;        <span class="keywordtype">float</span> prevOut;</div>
<div class="line"><a name="l00772"></a><span class="lineno">  772</span>&#160;        <span class="keywordtype">float</span> currentOut;</div>
<div class="line"><a name="l00773"></a><span class="lineno">  773</span>&#160;        <span class="keywordtype">float</span> prevIn;</div>
<div class="line"><a name="l00774"></a><span class="lineno">  774</span>&#160;        <span class="keywordtype">float</span> invUpSlide;</div>
<div class="line"><a name="l00775"></a><span class="lineno">  775</span>&#160;        <span class="keywordtype">float</span> invDownSlide;</div>
<div class="line"><a name="l00776"></a><span class="lineno">  776</span>&#160;        <span class="keywordtype">float</span> dest;</div>
<div class="line"><a name="l00777"></a><span class="lineno">  777</span>&#160;    } _tSlide;</div>
<div class="line"><a name="l00778"></a><span class="lineno">  778</span>&#160;    </div>
<div class="line"><a name="l00779"></a><span class="lineno">  779</span>&#160;    <span class="keyword">typedef</span> _tSlide* tSlide;</div>
<div class="line"><a name="l00780"></a><span class="lineno">  780</span>&#160;    </div>
<div class="line"><a name="l00781"></a><span class="lineno">  781</span>&#160;    <span class="keywordtype">void</span>    <a class="code" href="group__tslide.html#ga8288a16662a7fa082c4fcad3cea0ab04">tSlide_init</a>          (tSlide* <span class="keyword">const</span>, <span class="keywordtype">float</span> upSlide, <span class="keywordtype">float</span> downSlide, <a class="code" href="struct_l_e_a_f.html">LEAF</a>* <span class="keyword">const</span> leaf);</div>
<div class="line"><a name="l00782"></a><span class="lineno">  782</span>&#160;    <span class="keywordtype">void</span>    <a class="code" href="group__tslide.html#ga42a348c9028053e0ad3a22f1ac731430">tSlide_initToPool</a>    (tSlide* <span class="keyword">const</span>, <span class="keywordtype">float</span> upSlide, <span class="keywordtype">float</span> downSlide, tMempool* <span class="keyword">const</span>);</div>
<div class="line"><a name="l00783"></a><span class="lineno">  783</span>&#160;    <span class="keywordtype">void</span>    <a class="code" href="group__tslide.html#ga57ba71883af607aaf28f0292e0cee901">tSlide_free</a>          (tSlide* <span class="keyword">const</span>);</div>
<div class="line"><a name="l00784"></a><span class="lineno">  784</span>&#160;    </div>
<div class="line"><a name="l00785"></a><span class="lineno">  785</span>&#160;    <span class="keywordtype">float</span>   <a class="code" href="group__tslide.html#gacdddc23733eda912f51d57cc944062b0">tSlide_tick</a>         (tSlide* <span class="keyword">const</span>, <span class="keywordtype">float</span> in);</div>
<div class="line"><a name="l00786"></a><span class="lineno">  786</span>&#160;    <span class="keywordtype">float</span>   <a class="code" href="group__tslide.html#ga0ba5fda0ed766d03ac97ad8d0f068ba1">tSlide_tickNoInput</a>    (tSlide* <span class="keyword">const</span> sl);</div>
<div class="line"><a name="l00787"></a><span class="lineno">  787</span>&#160;    <span class="keywordtype">void</span>    <a class="code" href="group__tslide.html#gaac39af0df494460bbc7170a2a34dd7e1">tSlide_setUpSlide</a>    (tSlide* <span class="keyword">const</span> sl, <span class="keywordtype">float</span> upSlide);</div>
<div class="line"><a name="l00788"></a><span class="lineno">  788</span>&#160;    <span class="keywordtype">void</span>    <a class="code" href="group__tslide.html#ga86d8efa014a6428b1338d70603f1eb95">tSlide_setDownSlide</a>    (tSlide* <span class="keyword">const</span> sl, <span class="keywordtype">float</span> downSlide);</div>
<div class="line"><a name="l00789"></a><span class="lineno">  789</span>&#160;    <span class="keywordtype">void</span>    <a class="code" href="group__tslide.html#ga381e81d6bcb9cba92acfe9a68df8c193">tSlide_setDest</a>        (tSlide* <span class="keyword">const</span> sl, <span class="keywordtype">float</span> dest);</div>
<div class="line"><a name="l00790"></a><span class="lineno">  790</span>&#160;    </div>
<div class="line"><a name="l00791"></a><span class="lineno">  791</span>&#160;<span class="preprocessor">#ifdef __cplusplus</span></div>
<div class="line"><a name="l00792"></a><span class="lineno">  792</span>&#160;}</div>
<div class="line"><a name="l00793"></a><span class="lineno">  793</span>&#160;<span class="preprocessor">#endif</span></div>
<div class="line"><a name="l00794"></a><span class="lineno">  794</span>&#160; </div>
<div class="line"><a name="l00795"></a><span class="lineno">  795</span>&#160;<span class="preprocessor">#endif  // LEAF_ENVELOPES_H_INCLUDED</span></div>
<div class="line"><a name="l00796"></a><span class="lineno">  796</span>&#160; </div>
<div class="line"><a name="l00797"></a><span class="lineno">  797</span>&#160; </div>
<div class="line"><a name="l00798"></a><span class="lineno">  798</span>&#160; </div>
<div class="line"><a name="l00799"></a><span class="lineno">  799</span>&#160; </div>
</div><!-- fragment --></div><!-- contents -->
<div class="ttc" id="agroup__tadsr4_html_ga5f4cc4b20251f8240c0208b452b8eff3"><div class="ttname"><a href="group__tadsr4.html#ga5f4cc4b20251f8240c0208b452b8eff3">tADSR4_tick</a></div><div class="ttdeci">float tADSR4_tick(tADSR4 *const)</div><div class="ttdef"><b>Definition:</b> leaf-envelopes.c:949</div></div>
<div class="ttc" id="agroup__trampupdown_html_ga3902f92b1057f9bd37ea24afe6ee93a0"><div class="ttname"><a href="group__trampupdown.html#ga3902f92b1057f9bd37ea24afe6ee93a0">tRampUpDown_setDest</a></div><div class="ttdeci">void tRampUpDown_setDest(tRampUpDown *const, float dest)</div><div class="ttdef"><b>Definition:</b> leaf-envelopes.c:1338</div></div>
<div class="ttc" id="agroup__tramp_html_gadd8abe3a4b8f0f082d1a7f2c752f7980"><div class="ttname"><a href="group__tramp.html#gadd8abe3a4b8f0f082d1a7f2c752f7980">tRamp_tick</a></div><div class="ttdeci">float tRamp_tick(tRamp *const)</div><div class="ttdef"><b>Definition:</b> leaf-envelopes.c:1225</div></div>
<div class="ttc" id="agroup__tasdr2_html_ga5b195997b8fc1934c6cb06cc13f09c13"><div class="ttname"><a href="group__tasdr2.html#ga5b195997b8fc1934c6cb06cc13f09c13">tADSR2_init</a></div><div class="ttdeci">void tADSR2_init(tADSR2 *const, float attack, float decay, float sustain, float release, LEAF *const leaf)</div><div class="ttdoc">Initialize a tADSR2 to the default mempool of a LEAF instance.</div><div class="ttdef"><b>Definition:</b> leaf-envelopes.c:502</div></div>
<div class="ttc" id="agroup__tslide_html_ga86d8efa014a6428b1338d70603f1eb95"><div class="ttname"><a href="group__tslide.html#ga86d8efa014a6428b1338d70603f1eb95">tSlide_setDownSlide</a></div><div class="ttdeci">void tSlide_setDownSlide(tSlide *const sl, float downSlide)</div><div class="ttdef"><b>Definition:</b> leaf-envelopes.c:1514</div></div>
<div class="ttc" id="agroup__tadsr4_html_gad79710f31593ada4e3834ebefd67a388"><div class="ttname"><a href="group__tadsr4.html#gad79710f31593ada4e3834ebefd67a388">tADSR4_setLeakFactor</a></div><div class="ttdeci">void tADSR4_setLeakFactor(tADSR4 *const, float leakFactor)</div><div class="ttdef"><b>Definition:</b> leaf-envelopes.c:905</div></div>
<div class="ttc" id="agroup__tadsr3_html_ga61f1fd529df0d97a9a74b9523024b1fe"><div class="ttname"><a href="group__tadsr3.html#ga61f1fd529df0d97a9a74b9523024b1fe">tADSR3_init</a></div><div class="ttdeci">void tADSR3_init(tADSR3 *const, float attack, float decay, float sustain, float release, LEAF *const leaf)</div><div class="ttdoc">Initialize a tADSR3 to the default mempool of a LEAF instance.</div><div class="ttdef"><b>Definition:</b> leaf-envelopes.c:658</div></div>
<div class="ttc" id="agroup__tslide_html_ga8288a16662a7fa082c4fcad3cea0ab04"><div class="ttname"><a href="group__tslide.html#ga8288a16662a7fa082c4fcad3cea0ab04">tSlide_init</a></div><div class="ttdeci">void tSlide_init(tSlide *const, float upSlide, float downSlide, LEAF *const leaf)</div><div class="ttdoc">Initialize a tSlide to the default mempool of a LEAF instance.</div><div class="ttdef"><b>Definition:</b> leaf-envelopes.c:1473</div></div>
<div class="ttc" id="agroup__tadsr_html_ga1cceb7951e999aa388bd72a7bb3901f6"><div class="ttname"><a href="group__tadsr.html#ga1cceb7951e999aa388bd72a7bb3901f6">tADSR_setAttack</a></div><div class="ttdeci">void tADSR_setAttack(tADSR *const, float attack)</div><div class="ttdef"><b>Definition:</b> leaf-envelopes.c:292</div></div>
<div class="ttc" id="agroup__tadsr3_html_gad48b26429b4224b199b26690a0d480f1"><div class="ttname"><a href="group__tadsr3.html#gad48b26429b4224b199b26690a0d480f1">tADSR3_off</a></div><div class="ttdeci">void tADSR3_off(tADSR3 *const)</div><div class="ttdef"><b>Definition:</b> leaf-envelopes.c:754</div></div>
<div class="ttc" id="agroup__tadsr3_html_ga3ac9763101f9e3b5338ea92cc02a6032"><div class="ttname"><a href="group__tadsr3.html#ga3ac9763101f9e3b5338ea92cc02a6032">tADSR3_setRelease</a></div><div class="ttdeci">void tADSR3_setRelease(tADSR3 *const, float release)</div><div class="ttdef"><b>Definition:</b> leaf-envelopes.c:730</div></div>
<div class="ttc" id="agroup__texpsmooth_html_ga19fc6917c2d049c72b55f432ea24cfe5"><div class="ttname"><a href="group__texpsmooth.html#ga19fc6917c2d049c72b55f432ea24cfe5">tExpSmooth_setValAndDest</a></div><div class="ttdeci">void tExpSmooth_setValAndDest(tExpSmooth *const expsmooth, float val)</div><div class="ttdef"><b>Definition:</b> leaf-envelopes.c:1450</div></div>
<div class="ttc" id="agroup__tadsr4_html_gab5b58a1067454a87cdff5e09a86e4af3"><div class="ttname"><a href="group__tadsr4.html#gab5b58a1067454a87cdff5e09a86e4af3">tADSR4_setDecay</a></div><div class="ttdeci">void tADSR4_setDecay(tADSR4 *const, float decay)</div><div class="ttdef"><b>Definition:</b> leaf-envelopes.c:873</div></div>
<div class="ttc" id="agroup__tasdr2_html_gaf68f6a5e10f25998f33d65162f9eb583"><div class="ttname"><a href="group__tasdr2.html#gaf68f6a5e10f25998f33d65162f9eb583">tADSR2_setRelease</a></div><div class="ttdeci">void tADSR2_setRelease(tADSR2 *const, float release)</div><div class="ttdef"><b>Definition:</b> leaf-envelopes.c:576</div></div>
<div class="ttc" id="agroup__tadsr3_html_ga589972bef8fca1a6a99064b92968c9fc"><div class="ttname"><a href="group__tadsr3.html#ga589972bef8fca1a6a99064b92968c9fc">tADSR3_setLeakFactor</a></div><div class="ttdeci">void tADSR3_setLeakFactor(tADSR3 *const, float leakFactor)</div><div class="ttdef"><b>Definition:</b> leaf-envelopes.c:740</div></div>
<div class="ttc" id="agroup__tadsr_html_ga1a41adcdea81db09f04d008b9b8e62b8"><div class="ttname"><a href="group__tadsr.html#ga1a41adcdea81db09f04d008b9b8e62b8">tADSR_off</a></div><div class="ttdeci">void tADSR_off(tADSR *const)</div><div class="ttdef"><b>Definition:</b> leaf-envelopes.c:385</div></div>
<div class="ttc" id="agroup__tasdr2_html_ga8490472fff769f548a45739892a31758"><div class="ttname"><a href="group__tasdr2.html#ga8490472fff769f548a45739892a31758">tADSR2_setLeakFactor</a></div><div class="ttdeci">void tADSR2_setLeakFactor(tADSR2 *const, float leakFactor)</div><div class="ttdef"><b>Definition:</b> leaf-envelopes.c:584</div></div>
<div class="ttc" id="agroup__texpsmooth_html_gaea5297fd207b49cecb42c583fe6549cc"><div class="ttname"><a href="group__texpsmooth.html#gaea5297fd207b49cecb42c583fe6549cc">tExpSmooth_setFactor</a></div><div class="ttdeci">void tExpSmooth_setFactor(tExpSmooth *const, float factor)</div><div class="ttdef"><b>Definition:</b> leaf-envelopes.c:1426</div></div>
<div class="ttc" id="agroup__tslide_html_ga42a348c9028053e0ad3a22f1ac731430"><div class="ttname"><a href="group__tslide.html#ga42a348c9028053e0ad3a22f1ac731430">tSlide_initToPool</a></div><div class="ttdeci">void tSlide_initToPool(tSlide *const, float upSlide, float downSlide, tMempool *const)</div><div class="ttdoc">Initialize a tSlide to a specified mempool.</div><div class="ttdef"><b>Definition:</b> leaf-envelopes.c:1478</div></div>
<div class="ttc" id="agroup__trampupdown_html_ga8d3a86e1a0937104788d63bafc34d37e"><div class="ttname"><a href="group__trampupdown.html#ga8d3a86e1a0937104788d63bafc34d37e">tRampUpDown_setUpTime</a></div><div class="ttdeci">void tRampUpDown_setUpTime(tRampUpDown *const, float upTime)</div><div class="ttdef"><b>Definition:</b> leaf-envelopes.c:1307</div></div>
<div class="ttc" id="agroup__tenvelope_html_gafb5292f686b84efd0d445a353bf4a37a"><div class="ttname"><a href="group__tenvelope.html#gafb5292f686b84efd0d445a353bf4a37a">tEnvelope_initToPool</a></div><div class="ttdeci">void tEnvelope_initToPool(tEnvelope *const, float attack, float decay, int loop, tMempool *const)</div><div class="ttdoc">Initialize a tEnvelope to a specified mempool.</div><div class="ttdef"><b>Definition:</b> leaf-envelopes.c:33</div></div>
<div class="ttc" id="agroup__tadsr4_html_ga5059a2109760aa0188c4769a52b4a4a3"><div class="ttname"><a href="group__tadsr4.html#ga5059a2109760aa0188c4769a52b4a4a3">tADSR4_setAttack</a></div><div class="ttdeci">void tADSR4_setAttack(tADSR4 *const, float attack)</div><div class="ttdef"><b>Definition:</b> leaf-envelopes.c:861</div></div>
<div class="ttc" id="agroup__trampupdown_html_ga9c1bbd455bd922c8b51c1b5e8c50e885"><div class="ttname"><a href="group__trampupdown.html#ga9c1bbd455bd922c8b51c1b5e8c50e885">tRampUpDown_setVal</a></div><div class="ttdeci">void tRampUpDown_setVal(tRampUpDown *const, float val)</div><div class="ttdef"><b>Definition:</b> leaf-envelopes.c:1346</div></div>
<div class="ttc" id="agroup__tadsr_html_ga3d62827bbd4f058d07e6cb1a8b92cb9f"><div class="ttname"><a href="group__tadsr.html#ga3d62827bbd4f058d07e6cb1a8b92cb9f">tADSR_setRelease</a></div><div class="ttdeci">void tADSR_setRelease(tADSR *const, float release)</div><div class="ttdef"><b>Definition:</b> leaf-envelopes.c:335</div></div>
<div class="ttc" id="agroup__tramp_html_ga4a3488c43e978d905080773353ce40f4"><div class="ttname"><a href="group__tramp.html#ga4a3488c43e978d905080773353ce40f4">tRamp_sample</a></div><div class="ttdeci">float tRamp_sample(tRamp *const)</div><div class="ttdef"><b>Definition:</b> leaf-envelopes.c:1240</div></div>
<div class="ttc" id="agroup__tadsr3_html_ga3b959e263e7322d7876bdf5e9b633a16"><div class="ttname"><a href="group__tadsr3.html#ga3b959e263e7322d7876bdf5e9b633a16">tADSR3_tick</a></div><div class="ttdeci">float tADSR3_tick(tADSR3 *const)</div><div class="ttdef"><b>Definition:</b> leaf-envelopes.c:764</div></div>
<div class="ttc" id="agroup__tslide_html_gaac39af0df494460bbc7170a2a34dd7e1"><div class="ttname"><a href="group__tslide.html#gaac39af0df494460bbc7170a2a34dd7e1">tSlide_setUpSlide</a></div><div class="ttdeci">void tSlide_setUpSlide(tSlide *const sl, float upSlide)</div><div class="ttdef"><b>Definition:</b> leaf-envelopes.c:1508</div></div>
<div class="ttc" id="agroup__texpsmooth_html_ga1f96e9a582c3bf85dd600f98eac11243"><div class="ttname"><a href="group__texpsmooth.html#ga1f96e9a582c3bf85dd600f98eac11243">tExpSmooth_sample</a></div><div class="ttdeci">float tExpSmooth_sample(tExpSmooth *const)</div><div class="ttdef"><b>Definition:</b> leaf-envelopes.c:1464</div></div>
<div class="ttc" id="agroup__tasdr2_html_ga3d78c0c766ca431b535d3adb0bc2f684"><div class="ttname"><a href="group__tasdr2.html#ga3d78c0c766ca431b535d3adb0bc2f684">tADSR2_free</a></div><div class="ttdeci">void tADSR2_free(tADSR2 *const)</div><div class="ttdoc">Free a tADSR2 from its mempool.</div><div class="ttdef"><b>Definition:</b> leaf-envelopes.c:540</div></div>
<div class="ttc" id="agroup__tslide_html_ga381e81d6bcb9cba92acfe9a68df8c193"><div class="ttname"><a href="group__tslide.html#ga381e81d6bcb9cba92acfe9a68df8c193">tSlide_setDest</a></div><div class="ttdeci">void tSlide_setDest(tSlide *const sl, float dest)</div><div class="ttdef"><b>Definition:</b> leaf-envelopes.c:1520</div></div>
<div class="ttc" id="agroup__tenvelope_html_ga40beb9faaf417398361fe2c4699318f5"><div class="ttname"><a href="group__tenvelope.html#ga40beb9faaf417398361fe2c4699318f5">tEnvelope_tick</a></div><div class="ttdeci">float tEnvelope_tick(tEnvelope *const)</div><div class="ttdef"><b>Definition:</b> leaf-envelopes.c:144</div></div>
<div class="ttc" id="agroup__tadsr_html_gaffd817040cc125f3b8204e756a16085c"><div class="ttname"><a href="group__tadsr.html#gaffd817040cc125f3b8204e756a16085c">tADSR_on</a></div><div class="ttdeci">void tADSR_on(tADSR *const, float velocity)</div><div class="ttdef"><b>Definition:</b> leaf-envelopes.c:361</div></div>
<div class="ttc" id="agroup__tslide_html_ga0ba5fda0ed766d03ac97ad8d0f068ba1"><div class="ttname"><a href="group__tslide.html#ga0ba5fda0ed766d03ac97ad8d0f068ba1">tSlide_tickNoInput</a></div><div class="ttdeci">float tSlide_tickNoInput(tSlide *const sl)</div><div class="ttdef"><b>Definition:</b> leaf-envelopes.c:1526</div></div>
<div class="ttc" id="agroup__tadsr4_html_ga691edaf4b254d1d44bee378312e370be"><div class="ttname"><a href="group__tadsr4.html#ga691edaf4b254d1d44bee378312e370be">tADSR4_setSustain</a></div><div class="ttdeci">void tADSR4_setSustain(tADSR4 *const, float sustain)</div><div class="ttdef"><b>Definition:</b> leaf-envelopes.c:884</div></div>
<div class="ttc" id="agroup__tramp_html_ga44d22f890ed04cd061cfba963b1f9729"><div class="ttname"><a href="group__tramp.html#ga44d22f890ed04cd061cfba963b1f9729">tRamp_init</a></div><div class="ttdeci">void tRamp_init(tRamp *const, float time, int samplesPerTick, LEAF *const leaf)</div><div class="ttdoc">Initialize a tRamp to the default mempool of a LEAF instance.</div><div class="ttdef"><b>Definition:</b> leaf-envelopes.c:1156</div></div>
<div class="ttc" id="agroup__trampupdown_html_ga10049078d9afde547db5345067355741"><div class="ttname"><a href="group__trampupdown.html#ga10049078d9afde547db5345067355741">tRampUpDown_init</a></div><div class="ttdeci">void tRampUpDown_init(tRampUpDown *const, float upTime, float downTime, int samplesPerTick, LEAF *const leaf)</div><div class="ttdoc">Initialize a tRampUpDown to the default mempool of a LEAF instance.</div><div class="ttdef"><b>Definition:</b> leaf-envelopes.c:1259</div></div>
<div class="ttc" id="agroup__tasdr2_html_gadd6f357864babc27382363b314efd70d"><div class="ttname"><a href="group__tasdr2.html#gadd6f357864babc27382363b314efd70d">tADSR2_off</a></div><div class="ttdeci">void tADSR2_off(tADSR2 *const)</div><div class="ttdef"><b>Definition:</b> leaf-envelopes.c:601</div></div>
<div class="ttc" id="agroup__trampupdown_html_ga15eca113d583ad81c71750cb13efb8f4"><div class="ttname"><a href="group__trampupdown.html#ga15eca113d583ad81c71750cb13efb8f4">tRampUpDown_setDownTime</a></div><div class="ttdeci">void tRampUpDown_setDownTime(tRampUpDown *const, float downTime)</div><div class="ttdef"><b>Definition:</b> leaf-envelopes.c:1323</div></div>
<div class="ttc" id="agroup__tenvelope_html_gadadffd39e47ede9b25e1a9faad8c0bbc"><div class="ttname"><a href="group__tenvelope.html#gadadffd39e47ede9b25e1a9faad8c0bbc">tEnvelope_setDecay</a></div><div class="ttdeci">void tEnvelope_setDecay(tEnvelope *const, float decay)</div><div class="ttdef"><b>Definition:</b> leaf-envelopes.c:98</div></div>
<div class="ttc" id="agroup__tadsr4_html_ga18f8440695a8f99ff6469ff9df6395c2"><div class="ttname"><a href="group__tadsr4.html#ga18f8440695a8f99ff6469ff9df6395c2">tADSR4_init</a></div><div class="ttdeci">void tADSR4_init(tADSR4 *const, float attack, float decay, float sustain, float release, float *expBuffer, int bufferSize, LEAF *const leaf)</div><div class="ttdoc">Initialize a tADSR4 to the default mempool of a LEAF instance.</div><div class="ttdef"><b>Definition:</b> leaf-envelopes.c:806</div></div>
<div class="ttc" id="agroup__tasdr2_html_ga3910c7c0360e0d7859e4bcf5521b3e7d"><div class="ttname"><a href="group__tasdr2.html#ga3910c7c0360e0d7859e4bcf5521b3e7d">tADSR2_setSustain</a></div><div class="ttdeci">void tADSR2_setSustain(tADSR2 *const, float sustain)</div><div class="ttdef"><b>Definition:</b> leaf-envelopes.c:562</div></div>
<div class="ttc" id="agroup__tramp_html_gafe5e687461cdb8b7cd0714b9fdca4223"><div class="ttname"><a href="group__tramp.html#gafe5e687461cdb8b7cd0714b9fdca4223">tRamp_setVal</a></div><div class="ttdeci">void tRamp_setVal(tRamp *const, float val)</div><div class="ttdef"><b>Definition:</b> leaf-envelopes.c:1218</div></div>
<div class="ttc" id="agroup__trampupdown_html_ga8eeaec61bbb73b00497dd5c62e43298e"><div class="ttname"><a href="group__trampupdown.html#ga8eeaec61bbb73b00497dd5c62e43298e">tRampUpDown_free</a></div><div class="ttdeci">void tRampUpDown_free(tRampUpDown *const)</div><div class="ttdoc">Free a tRampUpDown from its mempool.</div><div class="ttdef"><b>Definition:</b> leaf-envelopes.c:1300</div></div>
<div class="ttc" id="agroup__tadsr_html_ga7f305ead6d014fbafcb132ebcc81dddb"><div class="ttname"><a href="group__tadsr.html#ga7f305ead6d014fbafcb132ebcc81dddb">tADSR_setDecay</a></div><div class="ttdeci">void tADSR_setDecay(tADSR *const, float decay)</div><div class="ttdef"><b>Definition:</b> leaf-envelopes.c:309</div></div>
<div class="ttc" id="agroup__tramp_html_ga155e473a79ce4b174fa468981bb13750"><div class="ttname"><a href="group__tramp.html#ga155e473a79ce4b174fa468981bb13750">tRamp_free</a></div><div class="ttdeci">void tRamp_free(tRamp *const)</div><div class="ttdoc">Free a tRamp from its mempool.</div><div class="ttdef"><b>Definition:</b> leaf-envelopes.c:1187</div></div>
<div class="ttc" id="agroup__tramp_html_gada173eb52e34ee8fb16d79026014a4be"><div class="ttname"><a href="group__tramp.html#gada173eb52e34ee8fb16d79026014a4be">tRamp_setTime</a></div><div class="ttdeci">void tRamp_setTime(tRamp *const, float time)</div><div class="ttdef"><b>Definition:</b> leaf-envelopes.c:1194</div></div>
<div class="ttc" id="agroup__tadsr3_html_ga7e0784b34c2fef54de2ed993d68f9b7c"><div class="ttname"><a href="group__tadsr3.html#ga7e0784b34c2fef54de2ed993d68f9b7c">tADSR3_initToPool</a></div><div class="ttdeci">void tADSR3_initToPool(tADSR3 *const, float attack, float decay, float sustain, float release, tMempool *const)</div><div class="ttdoc">Initialize a tADSR3 to a specified mempool.</div><div class="ttdef"><b>Definition:</b> leaf-envelopes.c:663</div></div>
<div class="ttc" id="agroup__tadsr4_html_ga0271a2f741bed72edb08dc965433dade"><div class="ttname"><a href="group__tadsr4.html#ga0271a2f741bed72edb08dc965433dade">tADSR4_off</a></div><div class="ttdeci">void tADSR4_off(tADSR4 *const)</div><div class="ttdef"><b>Definition:</b> leaf-envelopes.c:934</div></div>
<div class="ttc" id="agroup__tenvelope_html_gad7cb0c772ac308884c50ce88eac76350"><div class="ttname"><a href="group__tenvelope.html#gad7cb0c772ac308884c50ce88eac76350">tEnvelope_setAttack</a></div><div class="ttdeci">void tEnvelope_setAttack(tEnvelope *const, float attack)</div><div class="ttdef"><b>Definition:</b> leaf-envelopes.c:81</div></div>
<div class="ttc" id="agroup__tadsr_html_gafa76d2b76694362abf9cf0ed987b7106"><div class="ttname"><a href="group__tadsr.html#gafa76d2b76694362abf9cf0ed987b7106">tADSR_init</a></div><div class="ttdeci">void tADSR_init(tADSR *const adsrenv, float attack, float decay, float sustain, float release, LEAF *const leaf)</div><div class="ttdoc">Initialize a tADSR to the default mempool of a LEAF instance.</div><div class="ttdef"><b>Definition:</b> leaf-envelopes.c:219</div></div>
<div class="ttc" id="agroup__tslide_html_gacdddc23733eda912f51d57cc944062b0"><div class="ttname"><a href="group__tslide.html#gacdddc23733eda912f51d57cc944062b0">tSlide_tick</a></div><div class="ttdeci">float tSlide_tick(tSlide *const, float in)</div><div class="ttdef"><b>Definition:</b> leaf-envelopes.c:1548</div></div>
<div class="ttc" id="agroup__texpsmooth_html_ga6e215e2d8a7e43e16d009f8eb805330e"><div class="ttname"><a href="group__texpsmooth.html#ga6e215e2d8a7e43e16d009f8eb805330e">tExpSmooth_setVal</a></div><div class="ttdeci">void tExpSmooth_setVal(tExpSmooth *const, float val)</div><div class="ttdef"><b>Definition:</b> leaf-envelopes.c:1444</div></div>
<div class="ttc" id="agroup__trampupdown_html_ga971e5d4b58631194769d9ff29b09bab0"><div class="ttname"><a href="group__trampupdown.html#ga971e5d4b58631194769d9ff29b09bab0">tRampUpDown_initToPool</a></div><div class="ttdeci">void tRampUpDown_initToPool(tRampUpDown *const, float upTime, float downTime, int samplesPerTick, tMempool *const)</div><div class="ttdoc">Initialize a tRampUpDown to a specified mempool.</div><div class="ttdef"><b>Definition:</b> leaf-envelopes.c:1264</div></div>
<div class="ttc" id="agroup__trampupdown_html_gae271d51d8270f50237f2b46b476930bf"><div class="ttname"><a href="group__trampupdown.html#gae271d51d8270f50237f2b46b476930bf">tRampUpDown_tick</a></div><div class="ttdeci">float tRampUpDown_tick(tRampUpDown *const)</div><div class="ttdef"><b>Definition:</b> leaf-envelopes.c:1354</div></div>
<div class="ttc" id="agroup__tadsr3_html_ga325386ad4640ec898971fdedf87b3b49"><div class="ttname"><a href="group__tadsr3.html#ga325386ad4640ec898971fdedf87b3b49">tADSR3_setDecay</a></div><div class="ttdeci">void tADSR3_setDecay(tADSR3 *const, float decay)</div><div class="ttdef"><b>Definition:</b> leaf-envelopes.c:713</div></div>
<div class="ttc" id="agroup__tasdr2_html_ga15dbf5b654eb51489bef787f4c9c23b7"><div class="ttname"><a href="group__tasdr2.html#ga15dbf5b654eb51489bef787f4c9c23b7">tADSR2_initToPool</a></div><div class="ttdeci">void tADSR2_initToPool(tADSR2 *const, float attack, float decay, float sustain, float release, tMempool *const)</div><div class="ttdoc">Initialize a tADSR2 to a specified mempool.</div><div class="ttdef"><b>Definition:</b> leaf-envelopes.c:507</div></div>
<div class="ttc" id="agroup__tadsr_html_gabbc3685eb6c47a49e657a1792d38dfc7"><div class="ttname"><a href="group__tadsr.html#gabbc3685eb6c47a49e657a1792d38dfc7">tADSR_tick</a></div><div class="ttdeci">float tADSR_tick(tADSR *const)</div><div class="ttdef"><b>Definition:</b> leaf-envelopes.c:399</div></div>
<div class="ttc" id="agroup__tadsr_html_gac676d5a70fe7a8487d125e5aff250fd0"><div class="ttname"><a href="group__tadsr.html#gac676d5a70fe7a8487d125e5aff250fd0">tADSR_setSustain</a></div><div class="ttdeci">void tADSR_setSustain(tADSR *const, float sustain)</div><div class="ttdef"><b>Definition:</b> leaf-envelopes.c:326</div></div>
<div class="ttc" id="agroup__tenvelope_html_ga750a7c8d37cbe768f2392e93f71f926a"><div class="ttname"><a href="group__tenvelope.html#ga750a7c8d37cbe768f2392e93f71f926a">tEnvelope_init</a></div><div class="ttdeci">void tEnvelope_init(tEnvelope *const, float attack, float decay, int loop, LEAF *const leaf)</div><div class="ttdoc">Initialize a tEnvelope to the default mempool of a LEAF instance.</div><div class="ttdef"><b>Definition:</b> leaf-envelopes.c:28</div></div>
<div class="ttc" id="agroup__tadsr_html_gaccc3f988aaab5a39b495b1ccd21da608"><div class="ttname"><a href="group__tadsr.html#gaccc3f988aaab5a39b495b1ccd21da608">tADSR_free</a></div><div class="ttdeci">void tADSR_free(tADSR *const)</div><div class="ttdoc">Free a tADSR from its mempool.</div><div class="ttdef"><b>Definition:</b> leaf-envelopes.c:286</div></div>
<div class="ttc" id="agroup__tadsr4_html_ga63a8a38f1f6f319d0103acf7d0fb21ad"><div class="ttname"><a href="group__tadsr4.html#ga63a8a38f1f6f319d0103acf7d0fb21ad">tADSR4_on</a></div><div class="ttdeci">void tADSR4_on(tADSR4 *const, float velocity)</div><div class="ttdef"><b>Definition:</b> leaf-envelopes.c:913</div></div>
<div class="ttc" id="agroup__tadsr3_html_gaf633a93865d4a9d4ba4840624f2b41bf"><div class="ttname"><a href="group__tadsr3.html#gaf633a93865d4a9d4ba4840624f2b41bf">tADSR3_free</a></div><div class="ttdeci">void tADSR3_free(tADSR3 *const)</div><div class="ttdoc">Free a tADSR3 from its mempool.</div><div class="ttdef"><b>Definition:</b> leaf-envelopes.c:698</div></div>
<div class="ttc" id="agroup__texpsmooth_html_ga8b8656a6b3b3f824a3a4b1ad06fc5e9e"><div class="ttname"><a href="group__texpsmooth.html#ga8b8656a6b3b3f824a3a4b1ad06fc5e9e">tExpSmooth_initToPool</a></div><div class="ttdeci">void tExpSmooth_initToPool(tExpSmooth *const, float val, float factor, tMempool *const)</div><div class="ttdoc">Initialize a tExpSmooth to a specified mempool.</div><div class="ttdef"><b>Definition:</b> leaf-envelopes.c:1405</div></div>
<div class="ttc" id="agroup__tadsr_html_gada1d7d74e13cfddaba736b2920b79d9f"><div class="ttname"><a href="group__tadsr.html#gada1d7d74e13cfddaba736b2920b79d9f">tADSR_initToPool</a></div><div class="ttdeci">void tADSR_initToPool(tADSR *const adsrenv, float attack, float decay, float sustain, float release, tMempool *const mp)</div><div class="ttdoc">Initialize a tADSR to a specified mempool.</div><div class="ttdef"><b>Definition:</b> leaf-envelopes.c:224</div></div>
<div class="ttc" id="agroup__texpsmooth_html_ga67d45ea3ba251bc651b06733bdd65e60"><div class="ttname"><a href="group__texpsmooth.html#ga67d45ea3ba251bc651b06733bdd65e60">tExpSmooth_setDest</a></div><div class="ttdeci">void tExpSmooth_setDest(tExpSmooth *const, float dest)</div><div class="ttdef"><b>Definition:</b> leaf-envelopes.c:1438</div></div>
<div class="ttc" id="agroup__tasdr2_html_ga3033906b9b5a6688818059210b10799e"><div class="ttname"><a href="group__tasdr2.html#ga3033906b9b5a6688818059210b10799e">tADSR2_tick</a></div><div class="ttdeci">float tADSR2_tick(tADSR2 *const)</div><div class="ttdef"><b>Definition:</b> leaf-envelopes.c:608</div></div>
<div class="ttc" id="agroup__tasdr2_html_ga19f6d152bd5b351dcc4416f4a5f51555"><div class="ttname"><a href="group__tasdr2.html#ga19f6d152bd5b351dcc4416f4a5f51555">tADSR2_setAttack</a></div><div class="ttdeci">void tADSR2_setAttack(tADSR2 *const, float attack)</div><div class="ttdef"><b>Definition:</b> leaf-envelopes.c:546</div></div>
<div class="ttc" id="agroup__tasdr2_html_gab50e8fb5a053b908b69315cd83e1840a"><div class="ttname"><a href="group__tasdr2.html#gab50e8fb5a053b908b69315cd83e1840a">tADSR2_setDecay</a></div><div class="ttdeci">void tADSR2_setDecay(tADSR2 *const, float decay)</div><div class="ttdef"><b>Definition:</b> leaf-envelopes.c:554</div></div>
<div class="ttc" id="agroup__tramp_html_gad348c3b0601d99326ce06ba017ef2508"><div class="ttname"><a href="group__tramp.html#gad348c3b0601d99326ce06ba017ef2508">tRamp_setDest</a></div><div class="ttdeci">void tRamp_setDest(tRamp *const, float dest)</div><div class="ttdef"><b>Definition:</b> leaf-envelopes.c:1211</div></div>
<div class="ttc" id="agroup__tenvelope_html_gac9babd2be1211097f9beee044ec4cdd9"><div class="ttname"><a href="group__tenvelope.html#gac9babd2be1211097f9beee044ec4cdd9">tEnvelope_free</a></div><div class="ttdeci">void tEnvelope_free(tEnvelope *const)</div><div class="ttdoc">Free a tEnvelope from its mempool.</div><div class="ttdef"><b>Definition:</b> leaf-envelopes.c:75</div></div>
<div class="ttc" id="agroup__texpsmooth_html_ga9c772d0874085e260027716a6850c066"><div class="ttname"><a href="group__texpsmooth.html#ga9c772d0874085e260027716a6850c066">tExpSmooth_tick</a></div><div class="ttdeci">float tExpSmooth_tick(tExpSmooth *const)</div><div class="ttdef"><b>Definition:</b> leaf-envelopes.c:1457</div></div>
<div class="ttc" id="agroup__tadsr3_html_ga6054295d933bb2d27898664f4b6f067e"><div class="ttname"><a href="group__tadsr3.html#ga6054295d933bb2d27898664f4b6f067e">tADSR3_on</a></div><div class="ttdeci">void tADSR3_on(tADSR3 *const, float velocity)</div><div class="ttdef"><b>Definition:</b> leaf-envelopes.c:747</div></div>
<div class="ttc" id="agroup__tramp_html_gac4d46bba12df2569f57bbdb9b407fe24"><div class="ttname"><a href="group__tramp.html#gac4d46bba12df2569f57bbdb9b407fe24">tRamp_initToPool</a></div><div class="ttdeci">void tRamp_initToPool(tRamp *const, float time, int samplesPerTick, tMempool *const)</div><div class="ttdoc">Initialize a tRamp to a specified mempool.</div><div class="ttdef"><b>Definition:</b> leaf-envelopes.c:1161</div></div>
<div class="ttc" id="agroup__texpsmooth_html_ga9074f846bd87a7e9071ff7a0fc77412a"><div class="ttname"><a href="group__texpsmooth.html#ga9074f846bd87a7e9071ff7a0fc77412a">tExpSmooth_init</a></div><div class="ttdeci">void tExpSmooth_init(tExpSmooth *const, float val, float factor, LEAF *const leaf)</div><div class="ttdoc">Initialize a tExpSmooth to the default mempool of a LEAF instance.</div><div class="ttdef"><b>Definition:</b> leaf-envelopes.c:1400</div></div>
<div class="ttc" id="agroup__tadsr4_html_ga2889f7a9596ba5e9d386c9913e51e62d"><div class="ttname"><a href="group__tadsr4.html#ga2889f7a9596ba5e9d386c9913e51e62d">tADSR4_free</a></div><div class="ttdeci">void tADSR4_free(tADSR4 *const)</div><div class="ttdoc">Free a tADSR4 from its mempool.</div><div class="ttdef"><b>Definition:</b> leaf-envelopes.c:855</div></div>
<div class="ttc" id="agroup__tasdr2_html_ga2ba1656a4f5d1f8dcecde930ea54c7b7"><div class="ttname"><a href="group__tasdr2.html#ga2ba1656a4f5d1f8dcecde930ea54c7b7">tADSR2_on</a></div><div class="ttdeci">void tADSR2_on(tADSR2 *const, float velocity)</div><div class="ttdef"><b>Definition:</b> leaf-envelopes.c:591</div></div>
<div class="ttc" id="agroup__tadsr4_html_ga731d6838ae65373c787ecf977523c121"><div class="ttname"><a href="group__tadsr4.html#ga731d6838ae65373c787ecf977523c121">tADSR4_initToPool</a></div><div class="ttdeci">void tADSR4_initToPool(tADSR4 *const, float attack, float decay, float sustain, float release, float *expBuffer, int bufferSize, tMempool *const)</div><div class="ttdoc">Initialize a tADSR4 to a specified mempool.</div><div class="ttdef"><b>Definition:</b> leaf-envelopes.c:813</div></div>
<div class="ttc" id="agroup__tadsr_html_ga1802708b1a0c0ce324c3072554c01624"><div class="ttname"><a href="group__tadsr.html#ga1802708b1a0c0ce324c3072554c01624">tADSR_setLeakFactor</a></div><div class="ttdeci">void tADSR_setLeakFactor(tADSR *const, float leakFactor)</div><div class="ttdef"><b>Definition:</b> leaf-envelopes.c:353</div></div>
<div class="ttc" id="agroup__tadsr4_html_ga7a53860240f681a65d90302145702697"><div class="ttname"><a href="group__tadsr4.html#ga7a53860240f681a65d90302145702697">tADSR4_setRelease</a></div><div class="ttdeci">void tADSR4_setRelease(tADSR4 *const, float release)</div><div class="ttdef"><b>Definition:</b> leaf-envelopes.c:893</div></div>
<div class="ttc" id="agroup__tenvelope_html_gafd5088139edc7b5630a7738efa7bac38"><div class="ttname"><a href="group__tenvelope.html#gafd5088139edc7b5630a7738efa7bac38">tEnvelope_loop</a></div><div class="ttdeci">void tEnvelope_loop(tEnvelope *const, int loop)</div><div class="ttdef"><b>Definition:</b> leaf-envelopes.c:115</div></div>
<div class="ttc" id="agroup__trampupdown_html_gacf9c6cad23c6fb79c002fdb60a132e69"><div class="ttname"><a href="group__trampupdown.html#gacf9c6cad23c6fb79c002fdb60a132e69">tRampUpDown_sample</a></div><div class="ttdeci">float tRampUpDown_sample(tRampUpDown *const)</div><div class="ttdef"><b>Definition:</b> leaf-envelopes.c:1388</div></div>
<div class="ttc" id="agroup__tslide_html_ga57ba71883af607aaf28f0292e0cee901"><div class="ttname"><a href="group__tslide.html#ga57ba71883af607aaf28f0292e0cee901">tSlide_free</a></div><div class="ttdeci">void tSlide_free(tSlide *const)</div><div class="ttdoc">Free a tSlide from its mempool.</div><div class="ttdef"><b>Definition:</b> leaf-envelopes.c:1501</div></div>
<div class="ttc" id="astruct_l_e_a_f_html"><div class="ttname"><a href="struct_l_e_a_f.html">LEAF</a></div><div class="ttdoc">Struct for an instance of LEAF.</div><div class="ttdef"><b>Definition:</b> leaf-global.h:31</div></div>
<div class="ttc" id="agroup__tadsr4_html_ga32a5545ca2510d666b9c59d9106888c5"><div class="ttname"><a href="group__tadsr4.html#ga32a5545ca2510d666b9c59d9106888c5">tADSR4_tickNoInterp</a></div><div class="ttdeci">float tADSR4_tickNoInterp(tADSR4 *const adsrenv)</div><div class="ttdef"><b>Definition:</b> leaf-envelopes.c:1074</div></div>
<div class="ttc" id="agroup__tadsr3_html_ga0a6a119590346ee356f486d8af00567a"><div class="ttname"><a href="group__tadsr3.html#ga0a6a119590346ee356f486d8af00567a">tADSR3_setAttack</a></div><div class="ttdeci">void tADSR3_setAttack(tADSR3 *const, float attack)</div><div class="ttdef"><b>Definition:</b> leaf-envelopes.c:704</div></div>
<div class="ttc" id="agroup__tenvelope_html_ga27ea23e65d88dee4361325bcb8cd7e23"><div class="ttname"><a href="group__tenvelope.html#ga27ea23e65d88dee4361325bcb8cd7e23">tEnvelope_on</a></div><div class="ttdeci">void tEnvelope_on(tEnvelope *const, float velocity)</div><div class="ttdef"><b>Definition:</b> leaf-envelopes.c:122</div></div>
<div class="ttc" id="agroup__tadsr3_html_gae5695ee654846bf4f3f092c3f2136ca8"><div class="ttname"><a href="group__tadsr3.html#gae5695ee654846bf4f3f092c3f2136ca8">tADSR3_setSustain</a></div><div class="ttdeci">void tADSR3_setSustain(tADSR3 *const, float sustain)</div><div class="ttdef"><b>Definition:</b> leaf-envelopes.c:722</div></div>
<div class="ttc" id="agroup__texpsmooth_html_gaf49340184c2380c43fd0cb990d9a6ea3"><div class="ttname"><a href="group__texpsmooth.html#gaf49340184c2380c43fd0cb990d9a6ea3">tExpSmooth_free</a></div><div class="ttdeci">void tExpSmooth_free(tExpSmooth *const)</div><div class="ttdoc">Free a tExpSmooth from its mempool.</div><div class="ttdef"><b>Definition:</b> leaf-envelopes.c:1419</div></div>
<!-- HTML footer for doxygen 1.8.18-->
<!-- start footer part -->
</body>
</html>
